我已经看了看其他的问题 Google搜索这个/。 我的问题是,当我提交表单与具有空文本框notEmpty
验证,它触发任何错误。
首先,我想看看我是否明白之间的差别notEmpty
和setRequired
。 据我了解,在notEmpty
如果一个元素被提交验证给出了一个错误,而值为空。 也就是说,如果一个条目不存在于POST数据存在(形式),那么它不如果不需要该元件产生一个错误。 喜欢它只有在元素设置运行。 该setRequired
方法会自动添加一个notEmpty
除非特别指出幕后验证。 这确保了一个元素的条目必须存在,它不能是空的。 正确?
现在,我想在那里我加入到使用这个逻辑我的形式notEmpty
验证,就像这样:
$username = new Zend_Form_Element_Text('txtUsername');
$username->addValidator(new Zend_Validate_NotEmpty(), true);
与同为其他文本字段。 如果我提交形式不输入值,我的POST数据是这样的:
(
[txtUsername] =>
[txtPassword] =>
[txtRepeatPassword] =>
)
然而, isValid
仍然计算结果为true
,并生成任何错误消息。 为什么? 如果不是notEmpty
验证确定的值是空的,因为元件在POST数据的标题? 如果我使用setRequired(true)
,它的工作原理我多么希望。 它只是用脑子弄乱,这决定了当值是一个空字符串的用户名不是空的。 :-)
提前致谢。