Использование zendframework v2, я столкнулся с проблемой с валидатором регулярных выражений в поле, созданном фабрикой Form. Все остальные поля (с использованием одного шаблона) работают без проблем.zf2 formFilter regex howto
Любые советы или указатели оцениваются.
$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 для создания form, я также создать validation filter, а затем использовать controller обрабатывать соответствующие формы представления.
Проблема, с которой я столкнулся, связана с указанным выше объектом inputFilter, который обрабатывает фильтр регулярных выражений «organizationName».
Кажется, что, хотя регулярное выражение скороговоркой я использую как в определении формы и входной фильтр [а-z0-9 & -_., @] {3,25} не обрабатывает строку Intl , Виджеты Inc. даже если я не получаю сообщение об ошибке от $ form-> GetMessages() и т.д.
Цвет мне stumpted
Было бы полезно, если вы можете сказать нам, в чем проблема. – Diemuzi
Я добавил некоторые дополнительные сведения * –
Но строка передает регулярное выражение. – akond