如何删除Zend Framework 2中的Select元素的验证

use*_*230 2 zend-form zend-framework2

我想绕过Zend Framework 2中Select元素的烦人验证.我的要求是我有两个选择下拉框,我将值从左选择框传递到右选择框,最后当我单击提交按钮时,我从右侧选择框发布值.

所以基本上左边的选择框是为了向用户显示值,我的问题是在左侧选择框中没有选择任何值它会抛出此错误:

["selectAll"] => array(1) {
      ["isEmpty"] => string(36) "Value is required and can't be empty"
    }
Run Code Online (Sandbox Code Playgroud)

我已经看到了一些来自Stackoverflow的旧帖子,这在Zend Framework 1中是可行的,就像可以禁用特定select元素的验证一样

例子:-

$selectAllElement->setRequired(false);
Run Code Online (Sandbox Code Playgroud)

要么

$selectAllElement->removeDecorator('Errors');
Run Code Online (Sandbox Code Playgroud)

这些方法在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);
Run Code Online (Sandbox Code Playgroud)

根据Sam的请求,我提供了代码,我将如何将select元素添加到表单并设置属性.

注意:我没有使用任何FIELDSETS

Sam*_*Sam 6

为了澄清这个问题,setRequired()在任何Zend\Form\Element上使用-Method只声明是否required="(bool)"应该呈现HTML-Attribute .

如果要从验证中排除字段/元素,则需要在InputFilters设置中定义它 'required' => false

  • 接受了你的回答,你的贡献表示赞赏 (2认同)