Intereting Posts
Лучшая практика для HTML-заголовка в PHP PHP SimpleXML: вставить узел в определенную позицию Как мне сделать MySQL count (*) в Doctrine2? Должен ли я освобождать mysql-результат после его хранения? Вставить Игнорировать – есть ли способ узнать, проигнорирован ли оператор? MYSQL PHP находит второе вхождение слова в массиве с помощью array_search curl всегда возвращает false createUrl Yii – следует ли нам называть его на контроллере или не имеет значения? Неопределенный индекс: ошибка в ajax POST и / или php-скрипт? Facebook публиковать поток напрямую с помощью PHP Пользовательские сообщения с одним и тем же слизком. Перенаправление на неправильный пост с одинаковым слизнем Почему file_get_contents () возвращает ошибку «Имя файла не может быть пустым»? Задайте каталог PHP ImageMagick tmp Проверьте, имеет ли переменная число php Помощь с pay_status PayPal Возвращенные частично восстановленные IPN

Сообщение об ошибке класса проверки подлинности Zend Framework

Проверка завершается неудачно, как и должно, но не возвращает сообщение об ошибке.

$form->addElement('text', 'phone_number', array( 'required' => true, 'validators' => array( array('NotEmpty', true, array('messages' => 'Enter a valid Phone Number')), array('regex', false, array('pattern' => '/\([0-9]{3}\)\s[0-9]{3}-[0-9]{4}/', 'messages' => 'Enter a valid Phone Number' )), 'CheckPhoneNumber'), ), )); 

Пользовательский класс:

 class Custom_Validators_CheckPhoneNumber extends Zend_Validate_Abstract{ const IN_USE = 'inUse'; protected $_messageTemplates = array( self::IN_USE => "'%value%' is currently in use" ); public function isValid($value) { $this->_setValue($value); $user_check = Users::getActive(preg_replace("/[^0-9]/", "", $value)); if($user_check->id){ $this->_error(self::IN_USE); return false; } return true; } 

}

Просто сбой не дает ошибку «IN_USE».

Solutions Collecting From Web of "Сообщение об ошибке класса проверки подлинности Zend Framework"

Это только элемент phone_number, который не отображает ошибки или есть другие?

Вы отключили стандартные декораторы с помощью disableLoadDefaultDecorators ?

Как насчет того, чтобы предоставить настраиваемый валидатор в массиве:

 $form->addElement( 'text', 'phone_number', array( 'required' => true, 'validators' => array( array( 'NotEmpty', true, array( 'messages' => 'Enter a valid Phone Number' ) ), array( 'regex', false, array( 'pattern' => '/\([0-9]{3}\)\s[0-9]{3}-[0-9]{4}/', 'messages' => 'Enter a valid Phone Number' ) ), array( 'CheckPhoneNumber' ) ) ) ); 

Вы уверены, что он не работает в вашем обычном валидаторе? Попытайтесь убедиться, что он фактически не работает в пользовательском валидаторе.

Если нет, проверьте правильность пути префикса для элементов формы

 $form->addElementPrefixPath( 'Custom_Validators', 'Custom/Validators', 'validate' ); 

Код для пользовательского валидатора, кажется, в порядке.

  $form->addElement('text', 'phone_number', array( 'required' => true, 'validators' => array( array('NotEmpty', true, array('messages' => 'Enter a valid Phone Number')), array('regex', false, array('pattern' => '/\([0-9]{3}\)\s[0-9]{3}-[0-9]{4}/', 'messages'=>array(Zend_Validate_Regex::NOT_MATCH=>'%value% is not a valid phone') )), 'CheckPhoneNumber'), ), ));