我想要2个复选框,用于是/否答案,并要求勾选任何一个。是否有一个“组”复选框的内置验证器?
答案 0 :(得分:3)
据我所知,没有。
但你可以在你的表格中做这样的事情。在表单类中手动扩展isValid方法,以检查至少checkbox_1或checkbox_2是否为票证。你应该做Adrian所说的用无线电代替。但原则是一样的。
<?php
class App_Your_Form extends Zend_Form
{
public function init()
{
... Your stuff ...
}
public function isValid($data)
{
$isValid = parent::isValid($data);
if ($this->getValue('checkbox_1') != '1' && $this->getValue('checkbox_2') != '1') {
$this->getElement('checkbox_1')->setErrors(array('You have to set check at least chexbkox_1 or checkbox 2'));
$isValid = false;
}
return $isValid;
}
}
答案 1 :(得分:3)
如果您使用无线电元素,则只需setRequired(true)
。同样适用于MultiCheckbox
Zend元素。
$element->setRequired(true);