Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
Watched Topics
FAQ
Поиск
Пользователи
Группы
Регистрация
Профиль
Войти и проверить личные сообщения
Вход
Список форумов Cake-PHP.ru
->
Общий
Редактировать сообщение
Имя
Тема
Сообщение
Смайлики
Дополнительные смайлики
Цвет шрифта:
По умолчанию
Тёмно-красный
Красный
Оранжевый
Коричневый
Жёлтый
Зелёный
Оливковый
Голубой
Синий
Тёмно-синий
Индиго
Фиолетовый
Белый
Чёрный
Размер шрифта:
Размер шрифта
Очень маленький
Маленький
Обычный
Большой
Огромный
Закрыть теги
Пытаюсь реализовать валидацию введенных пользователем данных. В контроллере имеем: var $validate = array ( 'city_id' => array ( 'rule' => 'numeric', 'on' => 'create', 'required' => true, 'allowEmpty' => false, 'message' => 'Invalid e-mail' ), 'first_name' => array ( 'rule' => 'alphaNumeric', 'required' => true, 'on' => 'create', 'allowEmpty' => false, 'message' => 'Invalid First_Name' ), 'last_name' => array ( 'rule' => array ( 'maxLength', 3 ), 'required' => true, 'on' => 'create', 'allowEmpty' => false, 'message' => 'Invalid Last_Name' ), 'email' => array ( 'rule' => array ( 'email', true ), 'on' => 'create', 'allowEmpty' => false, 'required' => true, 'message' => 'Invalid e-mail' ), 'photo' => array ( 'rule' => array ( 'file', true ), 'on' => 'create', 'required' => true, 'message' => 'Invalid e-mail' ) ); … и function add() { if ( ! empty ( $this->data ) ) { // выгрузку фото пока пропустим $this->data['User']['photo'] = ""; if ( $this->User->create ( $this->data ) ) && ( $this->User->validates ( $this->data ) ) { if ( $this->User->save ( $this->data ) ) { $this->flash ( "Успешно сохранено", "add" ); } else { $this->flash ( "Ошибка сохранения", "add" ); } } else { $this->set ( "error", "Error of validate!" ); } } else { $this->set ( "Countries", $this->Country->find ( "list" ) ); $this->set ( "Cities", $this->City->find ( "list" ) ); } } и соотв. вид add.ctp: <?php if ( ! empty ( $error ) ) echo $error; echo "<center><h4>Новый пользователь</h4>"; echo $form->create ( "User", array ( "action" => "add", "enctype" => "multipart/form-data" ) ); echo "Имя: " . $form->input ( "User.first_name", array ( "label" => false ) ); echo "Фамилия: " . $form->input ( "User.last_name", array ( "label" => false ) ); echo "E-mail: " . $form->input ( "User.email", array ( "label" => false ) ); echo $form->select ( "Country.id", $Countries, null, null, array ( "default" => " :: ALL :: " ) ) . "<br>"; echo $form->select ( "User.city_id", $Cities, null, null, array ( "default" => " :: ALL :: " ) ) . "<br>"; echo "Фото: " . $form->file ( "User.photo", array ( "label" => false ) ); echo $form->end ( "Добавить" ); echo $ajax->observeField ( "CountryId", array ( "url" => "/cities/update_cities/", "update" => "UserCityId", "frequency" => 0.5 )); } ?> Что бы не вводил в поля, результат один – валидация проходит успешно.
Настройки
HTML
ВЫКЛЮЧЕН
BBCode
ВКЛЮЧЕН
Смайлики
ВКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Отключить в этом сообщении смайлики
Если у вас плохое зрение или вы не можете прочесть этот код по какой-то другой причине, то обратитесь за помощью к
Администратору
.
Код подтверждения: *
Введите код в точности так, как вы его видите. Код является регистро-зависимым, а символ нуля имеет косую линию внутри цифры.
Часовой пояс: GMT + 3
Перейти:
Выберите форум
CakePHP Форум
----------------
Общий
Установка и настройка
Творчество
Вопросы и пожелания
Комментарии к главам руководства по CakePHP 1.1
Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB
Если ничего интересного не нашли, можно рекламу почитать, а рекламируется у нас сегодня «».