我在我的表单中使用了 zend 验证,但我无法验证我表单中的多选框。
这是我在表单中的多选元素:
$days = new Zend_Form_Element_Select('day');
$days->setLabel('Days')
->addMultiOptions($total_days)
->setRequired(true)
->addValidator('NotEmpty')
->setAttrib('multiple', 'multiple');
我在提交表单时收到以下错误,即使我在多选框中选择了一些选项也是如此:
Array was not found in the haystack
我在 Zend/Validate/InArray.php 中看到以下代码,它只能验证单个表单元素,但不能验证数组:
public function isValid($value)
{
$this->_setValue($value);
if (in_array($value, $this->_haystack, $this->_strict))
{
return true;
}
}
但是我该如何解决这个错误呢?
最佳答案
要在你的表单中有多个选择元素,你应该使用 Zend_Form_Element_Multiselect ,而不是 Zend_Form_Element_Select,例如:
$days = new Zend_Form_Element_Multiselect('day');
$days->setLabel('Days')
->addMultiOptions($total_days)
->setRequired(true)
->addValidator('NotEmpty');
关于php - zend 验证多选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5764507/