php - zend 验证多选框

标签 php zend-framework zend-form zend-validate

我在我的表单中使用了 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/

相关文章:

php - Zend multi Checkbox 元素的单个错误消息而不是多个

php - 在哪里可以找到 Zend_Form 的所有验证器和过滤器的列表?

javascript - php 不是 "echo-ing"javascript 正确

php - Laravel路由&数据库MySQL不同输出

php - 一次处理更多插入的想法

ruby-on-rails - 一些常见 Web 框架的内存占用量如何比较?

zend-framework - 查看助手、部分 View 或其他

php - 处理 URL 中的斜杠 ('/' ) CodeIgniter

php - Magento 使用什么事件发送订单确认邮件

zend-framework - Zend - 如何在 WAMP 上安装