表单验证,在验证中文时会出现问题。
这个框架验证英文没有问题,但验证中文的时候就出现问题了。比如,我用规则min_length,设定text最小长度必须大于6个字符。输入英文没问题,但输入中文就出现问题了,比如我输入的中文文字是:的撒大家圣诞卡时间。这句是绝对满6个字符了,但是依然过不了验证,依然显示《 文章标题 至少包含 6 个字》这样的提示语句,不知道你们在测试中文时有没有出现这样的情况。 C:\Users\Administrator\Desktop\QQ图片20161006204142.png 图片正在审核,等等上图 相当奇怪!
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]