编程语言
首页 > 编程语言> > php – Zend Framework notEmpty验证器setRequired

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