【问题标题】:How do I use ZF2 regex validators within the factory pattern如何在工厂模式中使用 ZF2 正则表达式验证器
【发布时间】:2013-09-21 21:44:46
【问题描述】:

有人熟悉在工厂模式中使用 ZF2 正则表达式验证器吗?

我从各种博客和其他 stackoverflow 问题中获取了这段代码,但它似乎不起作用。

添加正则表达式验证器会阻止对我的表单进行的所有更改来更新数据库 - 所以即使我插入一个数字,验证器也一定会失败。

但是,当我检查时

$form -> getMessages();

我得到一个空数组。任何见解将不胜感激。

为了说明,我使用了一个非常简单的正则表达式,据我所知,它会阻止任何不是数字的输入字符。

$inputFilter->add($factory->createInput(array(
            'name'     => 'Number',
            'required' => true,
            'filters'  => array(
                array('name' => 'StripTags'),
                array('name' => 'StringTrim'),
            ),
            'validators' => array(
                array(
                    'name'    => 'StringLength',
                    'options' => array(
                        'encoding' => 'UTF-8',
                        'max'      => 20,
                    ),
                ),
            ),
            array(
                'name' => 'Regex',
                'options' => array(
                    'pattern' => '/^[0-9]+$',
                    'messages' => array(
                        'Invalid input, only 0-9 characters allowed'
                    ),
                ),
            ),
        )));

【问题讨论】:

    标签: php regex forms validation zend-framework2


    【解决方案1】:

    一目了然,正则表达式验证器应该位于“验证器”数组中...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-23
      • 2015-05-14
      • 1970-01-01
      • 2017-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多