Что означает этот Zend Form Validator

Привет, я только что просмотрел код и увидел строку проверки Zend. Я не могу понять, что это значит.

   $affiliateModel = new AffiliateUser();
   $metaData = $affiliateModel->info('metadata');

И вот мой элемент формы

  $first_name = new Zend_Form_Element_Text('first_name');
  $first_name->setRequired(true)
            ->addFilter('StringTrim')
            ->addValidator('StringLength', false, array(2, $metaData['first_name']['LENGTH']))
            ->setDecorators(array('ViewHelper', 'errors'));

Я знаю, что делает каждая линия, но что будет делать эта линия

->addValidator('StringLength', false, array(2, $metaData['first_name']['LENGTH']))

Кто-нибудь объяснит, что будет делать этот validator?


person Awais Qarni    schedule 29.09.2012    source источник


Ответы (1)


->addValidator('StringLength', false, array(2, $metaData['first_name']['LENGTH']));

Добавит валидатор, который будет считать строку действительной, только если ее длина попадает в [2, x], где x — это значение $metaData[...][...]. (Внутри форма создаст и настроит Zend_Validate_StringLength экземпляр.)

person Corbin    schedule 29.09.2012
comment
Это означает, что если metadata возвращает 255, будет считаться допустимой только строка длиной от 2 до 255? - person Awais Qarni; 29.09.2012
comment
@AwaisQarni Кстати, какими бы загадочными ни были вещи Zend, я бы использовал явную версию array('min' => 2, 'max' => $metaData...); - person Corbin; 29.09.2012