加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – 如何使用Zend Framework 2验证乘法选择

发布时间:2020-05-25 09:02:08 所属栏目:PHP 来源:互联网
导读:我试图使用输入过滤器验证乘法选择,但每次看到错误.错误是“notInArray”:“在大海捞针中找不到输入”.(我使用ajax,但它并不是完美的). 我将更清楚地展示我的部分代码. 在控制器中: if ($request-isPost()) { $post = $request-getPost(); $form = new Sett

我试图使用输入过滤器验证乘法选择,但每次看到错误.错误是“notInArray”:“在大海捞针中找不到输入”.(我使用ajax,但它并不是完美的).
我将更清楚地展示我的部分代码.

在控制器中:

if ($request->isPost()) {
            $post = $request->getPost();
            $form = new SettingsFormAddUserForm($roles);// 
            $form->get('positions')
                         ->setOptions(
                                 array('value_options'=> $post['positions']));

// ….更多代码……

当我把print_r($post [‘positions’]);我知道了:
数组(0 => 118,1 => 119)

in …. / form / UserForm.php我创建了multiply元素

$this->add(array(
                'type' => 'ZendFormElementSelect','attributes' => array(
                    'multiple' => 'multiple','id' => 'choosed_positions',),'required' => false,'name' => 'positions',));

在验证文件中,代码是:

$inputFilter->add($factory->createInput(array(
                        'name' => 'positions','validators' => array(
                            array(
                                'name' => 'InArray','options' => array(
                                    'haystack' => array(118,119),'messages' => array(
                                        'notInArray' => 'Please select your position !'
                                    ),

每次看到这个错误的原因是什么,以及我如何解决它?

默认情况下,选择在Zend Framework 2中附加了InArray验证器.

如果你要添加新的 – 你将有两个.

您应该禁用默认值,如下所示:

$this->add(array(
    'type' => 'ZendFormElementSelect','options' => array(
        'disable_inarray_validator' => true,// <-- disable
    ),'attributes' => array(
        'multiple' => 'multiple',));

你应该摆脱额外的错误信息.如果这对您有所帮助,请告诉我们.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读