这些行为或
输出之间有什么真正的区别吗?他们看起来像是做同样的事情.
->addValidator('NotEmpty')
->setrequired(true)
是的,有区别.如果不需要元素,即使整个值从您验证的数据中丢失,它也将被验证.该值仅在已确认存在的情况下才对已
注册的验证器进行验证. NotEmpty验证器只有当该字段存在但为空时才会失败.
此外,没有必要自己添加NotEmpty验证器,默认情况下Zend为元素插入NotEmpty验证器,如果元素是必需的.所以有效地执行 – > setrequired(true)与执行 – > setrequired(true) – > addValidator(‘NotEmpty’)相同.您可以使用 – > setAutoInsertNotEmptyValidator(false)关闭此行为.