php – Zend form setRequired(true)或addValidator(NotEmpty)

这些行为或输出之间有什么真正的区别吗?他们看起来像是做同样的事情.

->addValidator('NotEmpty')   

->setRequired(true)

是的,有区别.如果不需要元素,即使整个值从您验证的数据中丢失,它也将被验证.该值仅在已确认存在的情况下才对已注册的验证器进行验证. NotEmpty验证器只有当该字段存在但为空时才会失败.

此外,没有必要自己添加NotEmpty验证器,默认情况下Zend为元素插入NotEmpty验证器,如果元素是必需的.所以有效地执行 – > setRequired(true)与执行 – > setRequired(true) – > addValidator(‘NotEmpty’)相同.您可以使用 – > setAutoInsertNotEmptyValidator(false)关闭此行为.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。