是否有人熟悉在工厂模式中使用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'
),
),
),
)));
答案 0 :(得分:2)
一目了然,Regex验证器应该位于“验证器”阵列......