Zend Framework:如何在表单元素上设置自定义验证器?
我正在编写一个自定义验证器,用于检查至少一个字段是否具有值。 我想验证“namefield”或“idfield”是否具有值。 其中之一可以为空,也可以两者都有值,但至少其中之一必须有值。
$nameField = new Zend_Form_Element_Hidden('namefield');
$nameField->setValue($this->nameFieldValue)
->addValidator('AtLeastOneHasValue', false, array('idfield'));
据我了解,除非我将表单元素设置为必需,否则我的验证器将不会验证。
->setRequired(true)
但如果我将其设置为必需,它会自动验证它不为空,并且错误消息显示它为空。 我想允许该字段为空,并使用自定义验证器验证多个字段。 如何使用自定义验证器验证表单元素,而不将表单元素设置为必需?
I'm writing a custom validator that checks that at least one field has a value. I want to validate that either 'namefield' or 'idfield' has a value. One of them can be empty, or both can have a value, but at least one of them must have a value.
$nameField = new Zend_Form_Element_Hidden('namefield');
$nameField->setValue($this->nameFieldValue)
->addValidator('AtLeastOneHasValue', false, array('idfield'));
From what I understand, my validator will not validate unless I set my form element to required.
->setRequired(true)
But if I set it to required, it automatically validates that it is not empty, and the error message says that it is empty. I want to allow the field to be empty, and validate multiple fields with my custom validator. How do I validate a form element with my custom validator, without setting the form element to required?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
检查此文档页面中的 setAllowEmpty() 方法。 这应该可以帮助您到达您想去的地方。
Check this documentation page for the setAllowEmpty() method. This should help you get where you are trying to go.