我的密码字段(Zend Form)允许字符串长度为6,20
但是当我输入“guru£”(字符串lenth 5:fasle)时,它返回true而没有minlenth错误,同时如果我输入“guru $$$”(字符串长度:true)则返回最大lenth错误。
任何人都可以帮我解决这个问题。并提前致谢 - Guru
答案 0 :(得分:3)
您似乎使用了一些多字节字符编码,可能是UTF-8。您必须明确告诉Zend_Validate以使其正常工作:
$validator->setEncoding("UTF-8");
或者您可以在创建验证器对象时执行此操作:
$validator = new Zend_Validate_StringLength(
array('min' => 6, 'max' => 20, 'encoding' => 'UTF-8')
);
请参阅Zend Framework手册中的Zend_Validate > Encoding of values。
答案 1 :(得分:0)
您使用的是Zend Validation类吗?
http://framework.zend.com/manual/en/zend.validate.set.html
我认为特别值得注意的是使用不同的语言部分。