这些2的行为或输出之间是否有任何真正的区别。它们在我看来就像在做相同的事情。
->addValidator('NotEmpty')
->setRequired(true)
最佳答案
是的,有区别。如果不需要某个元素,即使您验证的数据中缺少整个值,它也会进行验证。在确定该值存在之后,才根据注册的验证程序来验证该值。 NotEmpty
验证程序仅在存在该字段但为空的情况下才会失败。
另外,也不必自己添加NotEmpty验证器,默认情况下,如果需要,Zend会自动为元素插入NotEmpty验证器。因此,有效地执行->setRequired(true)
与执行->setRequired(true)->addValidator('NotEmpty')
相同。您可以使用->setAutoInsertNotEmptyValidator(false)
关闭此行为。
关于php - Zend形式setRequired(true)或addValidator(NotEmpty),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3871460/