Kohana 3.2 Validation_Exception не будет поддерживать ошибки () - PullRequest
0 голосов
/ 30 сентября 2011

Я пытаюсь добавить сообщения об ошибках в мой объект проверки.

Это говорит о том, что ошибки не являются методом Validation_Exception. Что я знаю ... Дело в том, что я, хотя переменная $ e будет экземпляром класса проверки в модели. У меня вопрос как можно прикрепить сообщения об ошибках?

Ошибка:

ErrorException [Fatal Error]: вызов неопределенного метода Validation_Exception :: errors ()

Контроллер:

208             // redirect to the user account
209             $this->request->redirect('user/profile');
210          } catch (Validation_Exception $e) {
211             // Get errors for display in view
212             // Note how the first param is the path to the message file (e.g. /messages/register.php)
213             $errors = $e->errors('register/user');
214             // Move external errors to main array, for post helper compatibility
215             $errors = array_merge($errors, (isset($errors['_external']) ? $errors['_external'] : array()));
216             $view->set('errors', $errors);
217             // Pass on the old form values
218             $_POST['password'] = $_POST['password_confirm'] = '';

Модель:

$validation = Validation::factory($fields)
                    ->rules('username', $this->_rules['username'])
                    ->rule('username', array($this, 'username_available'), array(':validation', ':field'))
                    ->rules('email', $this->_rules['email'])
                    ->rule('email', array($this, 'email_available'), array(':validation', ':field'))
                    ->rules('password', $this->_rules['password'])
                    ->rules('password_confirm', $this->_rules['password_confirm']);
                    //->labels($_labels);

            if (Kohana::config('useradmin')->activation_code) {
                    $validation->rule('activation_code', array($this, 'check_activation_code'), array(':validation', ':field'));
            }

            if(!$validation->check())
            {
                    throw new Validation_Exception($validation, __('Your registering information is not valid.'));
            }

Я действительно не понимаю, почему возникает эта ошибка.

1 Ответ

2 голосов
/ 30 сентября 2011

Вы в основном ответили на свой вопрос - у Validation_Exception нет errors метода. Вам нужно вызвать его из Validation объекта.

...