Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Kuzya
цитировать
Зарегистрирован: 23 Фев 2009 15:02:35 Сообщения: 8
|
Добавлено: 11 Мар 2009 17:45:36 Заголовок сообщения: Валидация данных |
|
|
Здравствуйте. Работал с валидацией и наткнулся на странную проблему Скорее всего я просто в документации что-то не понял. Создаю в модели свойство validate следующего содержимого:
Код: | var $validate = Array(
'author'=>Array(
'rule'=>'alphaNumeric',
'minLength'=>3,
'required'=>true,
'message'=>'Enter author please'
)
); |
В контроллере у меня вот такой код:
Код: |
$this->Comment->save($this->data);
$this->flash('Comment saved!','/product/view/' . $product_t_name); |
Если не вводить текст в поле "author" то теоретически должно показаться сообщение "Enter author please". За место этого показывается сообщение "Comment saved", но коментарий не сохраняется (срабатывает валидация). Скажите пожалуйста где я ошибся и как добиться вывода сообщение "Enter author please"?
P.S. Если поле author заполнить нормально то всё сохраняется |
|
Вернуться к началу |
|
|
evilbloodydemon
цитировать
Зарегистрирован: 11 Окт 2007 20:32:19 Сообщения: 125
|
Добавлено: 11 Мар 2009 20:26:46 Заголовок сообщения: |
|
|
ну верно все, что-то не понял. только не в валидации у тебя проблема, а в контроллере. ты сохраняешь данные и независимо от результата перенаправляешь пользователя на другую страницу. а надо бы проверять, что тебе возвращает save.
Код: |
if($this->Comment->save($this->data)) {
$this->flash('Comment saved!','/product/view/' . $product_t_name);
}
|
_________________ поздняк метаться - ракеты в воздухе
jabber-конференция по CakePHP - xmpp:cakephp@conference.jabber.ru |
|
Вернуться к началу |
|
|
Алесь
цитировать
Зарегистрирован: 22 Ноя 2007 19:23:20 Сообщения: 29 Откуда: Минск
|
Добавлено: 12 Мар 2009 14:43:50 Заголовок сообщения: |
|
|
Попробуй ещё добавить
|
|
Вернуться к началу |
|
|
Kuzya
цитировать
Зарегистрирован: 23 Фев 2009 15:02:35 Сообщения: 8
|
Добавлено: 12 Мар 2009 14:55:04 Заголовок сообщения: |
|
|
Аа, я просто думал что автоматически само должно показываться =)
Спасибо! |
|
Вернуться к началу |
|
|
|