这些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/

10-11 01:37