Zend表单setRequired(true)或addValidator(NotEmpty)

时间:2010-10-06 10:15:47

标签: php zend-framework zend-form

这些行为或输出之间是否有任何真正的区别。他们看起来像他们做同样的事情。

->addValidator('NotEmpty')   

->setRequired(true)

1 个答案:

答案 0 :(得分:18)

是的,有区别。如果不需要元素,即使您验证的数据中缺少整个值,它也会验证。只有在确定存在后,才会对注册的验证程序验证该值。 NotEmpty验证器只有在字段存在时才会失败,但是为空。

此外,没有必要自己添加NotEmpty验证器,默认情况下Zend会自动为元素插入NotEmpty验证器(如果元素是必需的)。因此有效地执行->setRequired(true)与执行->setRequired(true)->addValidator('NotEmpty')相同。您可以使用->setAutoInsertNotEmptyValidator(false)关闭此行为。