393281221 发表于 2016-10-6 20:04:18

表单验证,在验证中文时会出现问题。

这个框架验证英文没有问题,但验证中文的时候就出现问题了。
比如,我用规则min_length,设定text最小长度必须大于6个字符。输入英文没问题,但输入中文就出现问题了,比如我输入的中文文字是:的撒大家圣诞卡时间。这句是绝对满6个字符了,但是依然过不了验证,依然显示《 文章标题 至少包含 6 个字》这样的提示语句,不知道你们在测试中文时有没有出现这样的情况。

393281221 发表于 2016-10-6 20:42:43

C:\Users\Administrator\Desktop\QQ图片20161006204142.png

393281221 发表于 2016-10-6 20:48:05

图片正在审核,等等上图

燃雲 发表于 2016-10-7 05:32:33

相当奇怪!

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


/**
* 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相关的码列出来看看吧!

还有,网站页面编码是什么?
页: [1]
查看完整版本: 表单验证,在验证中文时会出现问题。