php – Zend Framework notEmpty验证器setRequired
作者:互联网
我看过其他questions / 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),它会按我想要的方式工作.我只是想知道,当值为空字符串时,它确定用户名不为空.
标签:php,zend-framework,zend-form,zend-form-element 来源: https://codeday.me/bug/20190530/1182283.html