2013-05-09 1 views
3

Использование 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

+0

Было бы полезно, если вы можете сказать нам, в чем проблема. – Diemuzi

+0

Я добавил некоторые дополнительные сведения * –

+0

Но строка передает регулярное выражение. – akond

ответ