我想绕过 Zend Framework 2 中选择元素的烦人验证。我的要求是我有两个选择下拉框,我将值从左选择框传递到右选择框,最后当我单击提交按钮时,我从右选择框中发布值。
所以基本上左选择框是用来向用户显示值的,我的问题是在左选择框中没有选择值,它会抛出这个错误:
["selectAll"] => array(1) {
["isEmpty"] => string(36) "Value is required and can't be empty"
}
我看过一些来自 Stackoverflow 的旧帖子,这在 Zend Framework 1 中是可能的,就像可以禁用特定选择元素的验证一样
例子:-
$selectAllElement->setRequired(false);
或者
$selectAllElement->removeDecorator('Errors');
这些方法在 Zend Framework 2 中是如何不可用的。如果有人有解决方案来禁用特定选择元素的验证,请分享您的知识,这对进入 Zend Framework 2 的人会很有帮助。
编辑:
在我的表格中-
$select = new Element\Select('selectAllElement');
$select->setAttribute('title', 'Select a Value')
->setAttribute('id', 'id');
$options = array(
array(
//Fetching the values from database
),
);
$select->setAttribute('multiple', 'multiple')
->setAttribute('required', false)
->setValueOptions($options);
$this->add($select);
根据 Sam 的请求,我提供了如何将 select 元素添加到表单并设置属性的代码。
注意:我没有使用任何FIELDSETS