用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1520|回复: 3
收起左侧

[版本 2.x] 表单验证,在验证中文时会出现问题。

[复制链接]
发表于 2016-10-6 20:04:18 | 显示全部楼层 |阅读模式
这个框架验证英文没有问题,但验证中文的时候就出现问题了。
比如,我用规则min_length[6],设定text最小长度必须大于6个字符。输入英文没问题,但输入中文就出现问题了,比如我输入的中文文字是:的撒大家圣诞卡时间。这句是绝对满6个字符了,但是依然过不了验证,依然显示《 文章标题 至少包含 6 个字》这样的提示语句,不知道你们在测试中文时有没有出现这样的情况。
 楼主| 发表于 2016-10-6 20:42:43 | 显示全部楼层
C:\Users\Administrator\Desktop\QQ图片20161006204142.png
 楼主| 发表于 2016-10-6 20:48:05 | 显示全部楼层
图片正在审核,等等上图
发表于 2016-10-7 05:32:33 | 显示全部楼层
相当奇怪!

CI 2.x 的min_length检测码如下,都是一样。

PHP复制代码
 
/**
 * Minimum Length
 *
 * @access    public
 * @param    string
 * @param    value
 * @return    bool
 */

public function min_length($str, $val)
{
    if (preg_match("/[^0-9]/", $val))
    {
        return FALSE;
    }
 
    if (function_exists('mb_strlen'))
    {
        return (mb_strlen($str) < $val) ? FALSE : TRUE;
    }
 
    return (strlen($str) < $val) ? FALSE : TRUE;
}
 
复制代码


"的撒大家圣诞卡时间"长度按UTF-8是9,GB是18,ASCII是27,有无安装mb_string都应该能通过。

估计是用户码出错,把set_rules及view相关的码列出来看看吧!

还有,网站页面编码是什么?

本版积分规则