zend Проверить настроенное сообщение при обратном вызове - PullRequest
0 голосов
/ 10 декабря 2010

У меня есть следующие calss для проверки моих элементов ввода.

class Validator_FormValidator {
    public function genValid($value){

        $chainValid = new Zend_Validate();

        $strLenV = new Zend_Validate_StringLength(array('min' => 4, 'max' => 10));
        $strLenV->setMessage("You have entered a Invalid value","stringLengthInvalid");
        $chainValid->addValidator($strLenV);

        return $result;
    }

}

и затем в контроллере индекса

public function indexAction()
    {
        $this->view->form = new Form_LoginForm();
        $this->view->registrationForm = new Form_RegistrationForm();

        if($this->getRequest()->isPost())   {
          $validatorObj = new Validator_FormValidator();
          $valid = new Zend_Validate_Callback(array($validatorObj,'genValid'));
          $username = $this->_getParam('username');           

          if ($valid->isValid($username)) { echo 'success'; }
          else {
               echo 'failure';
               foreach ($valid->getMessages() as $message) {
                  echo "$message\n";
              }

          }
        }
    }

Теперь я пытаюсь добавить настраиваемые сообщения об ошибках в мой класс Validator_FormValidator, которые не отображаются в состоянии отказа моего контроллера.Может кто-нибудь из вас, пожалуйста, руководство, как это сделать?Это то, что я пытаюсь сделать (создать отдельный класс валидатора и поместить в него все функции валидации) - это хорошая практика?

1 Ответ

1 голос
/ 04 февраля 2011

Обычный способ создания собственной пользовательской проверки s - расширение Zend_Validate_Abstract или любого класса уже существующего валидатора, например Zend_Validate_StringLength.Таким образом, вы можете настроить процесс проверки, а также все его свойства, например сообщения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...