【发布时间】:2010-10-06 10:15:47
【问题描述】:
这 2 个的行为或输出之间有什么真正的区别吗?在我看来,它们就像做同样的事情。
->addValidator('NotEmpty')
->setRequired(true)
【问题讨论】:
标签: php zend-framework zend-form
这 2 个的行为或输出之间有什么真正的区别吗?在我看来,它们就像做同样的事情。
->addValidator('NotEmpty')
->setRequired(true)
【问题讨论】:
标签: php zend-framework zend-form
是的,有区别。如果不需要元素,即使您验证的数据中缺少整个值,它也会验证。该值仅在确定其存在后才针对已注册的验证器进行验证。 NotEmpty 验证器只有在字段存在但为空时才会失败。
另外,不需要自己添加 NotEmpty 验证器,如果需要元素,默认情况下 Zend 会自动为元素插入 NotEmpty 验证器。所以有效地执行->setRequired(true) 与执行->setRequired(true)->addValidator('NotEmpty') 相同。您可以使用->setAutoInsertNotEmptyValidator(false) 关闭此行为。