Zend framework2 zf2 formFilter正则表达式howto

Zend framework2 zf2 formFilter正则表达式howto,zend-framework2,validation,Zend Framework2,Validation,使用ZendFrameworkV2,我在表单工厂创建的字段上遇到了一个regex验证器问题。所有其他字段(使用相同的模式)都可以正常工作 如有任何提示或指示,我们将不胜感激 $inputFilter->add($factory->createInput([ 'name' => 'organizationName', 'filters' => array( arra

使用ZendFrameworkV2,我在表单工厂创建的字段上遇到了一个regex验证器问题。所有其他字段(使用相同的模式)都可以正常工作

如有任何提示或指示,我们将不胜感激

            $inputFilter->add($factory->createInput([ 
            'name' => 'organizationName', 
            'filters' => array( 
                array('name' => 'StripTags'), 
                array('name' => 'StringTrim'), 
            ), 
            'validators' => array( 
                array(
                    'name' => 'NotEmpty',
                    'options' => array(
                        'messages' => array(
                            \Zend\Validator\NotEmpty::IS_EMPTY => 'Organization name field is empty',
                        ),
                    ),
                ),
                array(
                    'name' => 'Regex',
                    'options' => array(
                        'pattern' => '/^[a-z0-9 &-_\.,@]{3,25}$/i',
                        'messages' => array(
                            \Zend\Validator\Regex::INVALID => 'Invalid input, only a-z, 0-9 & - _ . characters allowed',
                        ),
                    ),
                ),
                array (
                    'name' => 'StringLength', 
                    'options' => array( 
                        'encoding' => 'UTF-8', 
                        'min' => '2', 
                        'max' => '25', 
                        'messages' => array(
                            \Zend\Validator\StringLength::TOO_SHORT => 'Organization name field must be at least 8 characters in length',
                            \Zend\Validator\StringLength::TOO_LONG => 'Organization name field must be no longer than 25 characters in length',
                        ),
                    ), 
                ), 
            ), 
        ])); 
其他详情: 我使用ZF2生成,我还创建,然后使用来处理正确的表单提交

我遇到的问题是上面处理“organizationName”正则表达式过滤器的inputFilter对象

虽然我在表单定义和[a-z0-9&--.@]{3,25}的输入过滤器中使用的regex模式似乎不处理字符串Intl.Widgets Inc.,即使我没有从$form->getMessages()等处收到错误消息


这是因为您的regexp确实匹配。Widgets Inc.:

如果您能告诉我们问题的确切原因,将非常有用。我添加了一些其他详细信息,但字符串通过regexp。