Вот моя типичная форма
$errors = array();
if ($this->request->post('submit')) { // <----- I don't like this line
$post = Validation::factory($this->request->post())
->rule('email', 'not_empty')
->rule('email', 'email')
->rule('password', 'not_empty');
if ($post->check()) {
// ok, do something
}
$errors = $post->errors(true);
}
$this->template->content = View::factory('auth/register')
->set('errors', $errors);
Как вы видите - я проверяю, есть ли элемент submit, что означает, что мы действительно разместили форму, а не только запрошенную для первого показа.
Если мы удалим это условие - у нас будут ошибки проверки для запроса на первой странице. Ошибки о пустой форме электронной почты и пароля. Что на самом деле просто неверно.
Так как же решить эту проблему?