这些行为或输出之间是否有任何真正的区别。他们看起来像他们做同样的事情。
->addValidator('NotEmpty')
->setRequired(true)
答案 0 :(得分:18)
是的,有区别。如果不需要元素,即使您验证的数据中缺少整个值,它也会验证。只有在确定存在后,才会对注册的验证程序验证该值。 NotEmpty
验证器只有在字段存在时才会失败,但是为空。
此外,没有必要自己添加NotEmpty验证器,默认情况下Zend会自动为元素插入NotEmpty验证器(如果元素是必需的)。因此有效地执行->setRequired(true)
与执行->setRequired(true)->addValidator('NotEmpty')
相同。您可以使用->setAutoInsertNotEmptyValidator(false)
关闭此行为。