2013-09-05 3 views
0

Я создал это поле ввода формы телефона для Zend Framework. Он должен гарантировать, что входной сигнал составляет ровно 10 цифровых цифр. Но при правильном вводе данных он не проходит проверку. Может ли кто-нибудь сказать мне, почему?Проверка формы Zend не работает должным образом

<?php 
class Form_uspsSettings extends Zend_Form 
{ 
. . . 
     $phone = $this->createElement('text','phone'); 
     $phone->setLabel('Phone: *') 
       ->setRequired(true) 
       ->addFilter('Digits') 
      ->addValidators(array(
      array('Digits'), 
      array('stringLength', false, array(10)) 
     ));  
+0

Я думаю, что ваш StringLength валидатор необходимы два значения: мин & Максимум. Смотрите: http://framework.zend.com/manual/1.12/en/zend.validate.set.html#zend.validate.set.stringlength –

+0

Я попробовал его с двумя значениями, но это не имело никакого значения. Я видел где-то в документах, где они поставляли одно значение, поэтому я думаю, что это действительно так. Спасибо за наблюдение. –

ответ

0

Это правильный путь,

 'validators' => array(
      array('StringLength', false, array(10, 10)), 
     ), 

просто дать ему два значения, как предложено кортик .. это, безусловно, работа ..

+0

Я попробую еще раз и дам вам знать, как это получается. –

+0

да, конечно .. но я думаю, что это сработает .. это работает для меня! –

+0

Нет, не работает. На всякий случай я даже изменил свой «stringLength» на верхний регистр «S». Нет радости. –

Смежные вопросы