当前位置:  开发笔记 > 编程语言 > 正文

Zend Framework:如何在表单元素上设置自定义验证器?

如何解决《ZendFramework:如何在表单元素上设置自定义验证器?》经验,为你挑选了1个好方法。

我正在编写一个自定义验证器,用于检查至少有一个字段是否有值.我想验证'namefield'或'idfield'是否有值.其中一个可以是空的,或者两个都可以有值,但至少其中一个必须有值.

$nameField = new Zend_Form_Element_Hidden('namefield');
$nameField->setValue($this->nameFieldValue)
          ->addValidator('AtLeastOneHasValue', false, array('idfield'));

根据我的理解,除非我将表单元素设置为required,否则我的验证器将不会验证.

->setRequired(true)

但是,如果我将其设置为required,它会自动验证它是否为空,并且错误消息显示它为空.我想允许该字段为空,并使用我的自定义验证器验证多个字段.如何使用自定义验证器验证表单元素,而不将表单元素设置为必需?



1> leek..:

查看此文档页面以获取setAllowEmpty()方法.这应该可以帮助您到达目的地.

setAllowEmpty($ flag)和getAllowEmpty()允许您修改可选元素的行为(即,required标志为false的元素).当'allow empty'标志为true时,空值将不会传递给验证器链.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有