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