Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Валидация данных

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
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    Заголовок сообщения: Ответить с цитатой

Попробуй ещё добавить
Код:

allowEmpty=>false
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Kuzya

цитировать



Зарегистрирован: 23 Фев 2009 15:02:35
Сообщения: 8

СообщениеДобавлено: 12 Мар 2009 14:55:04    Заголовок сообщения: Ответить с цитатой

Аа, я просто думал что автоматически само должно показываться =)
Спасибо!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru