首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >zend框架3选择标记验证

zend框架3选择标记验证
EN

Stack Overflow用户
提问于 2017-09-17 16:33:20
回答 1查看 495关注 0票数 1

我得到的错误:输入没有找到在干草堆后的表单发布。请参阅下面的选择标签代码行:

代码语言:javascript
复制
// Add "roles" field
    $this->add([            
        'type'  => 'select',
        'name' => 'roles',
        'attributes' => [
            'multiple' => 'multiple',
            'options'=>$this->role_desc,
             'inarrayvalidator' => false, 
             'class'=>'form-control'
        ],
        'options' => [
            'label' => 'Role(s)',


        ],


    ]); 




  // Add input for "roles" field
    $inputFilter->add([
            'class'    => ArrayInput::class,
            'name'     => 'roles',
            'required' => true,
            'haystack'=>$this->role_ids,
            'filters'  => [                    
                ['name' => 'ToInt'],
            ],                
            'validators' => [
                ['name'=>'GreaterThan', 'options'=>['min'=>1]],
                 ['name'=>'InArray', 'options'=>['haystack'=>$this-
                       >role_ids]]


            ],
        ]); 

InArray似乎验证得很好,我只是不确定是什么引起了异常。提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-18 10:44:21

实际上,您的问题类似于link

要解决这个问题,请将验证器定义更改为:

代码语言:javascript
复制
'validators' => [
          ['name'=>'GreaterThan', 'options'=>['min'=>1]],
          [
                'name' => 'Explode',
                'options' => array(
                      'validator' => [
                           'name'=>'InArray',
                           'options'=> [
                                'haystack'=>$this->role_ids
                           ]
                       ]
                )
          ]
],

不幸的是,我认为没有一种“更清洁”的方法可以做到这一点。另外,也许你可以使用MultiCheckbox.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46266373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档