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

Валидация всегда проходит успешно

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
Гость

цитировать






СообщениеДобавлено: 22 Июн 2009 17:43:00    Заголовок сообщения: Валидация всегда проходит успешно Ответить с цитатой Изменить/удалить это сообщение

Пытаюсь реализовать валидацию введенных пользователем данных.

В контроллере имеем:

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 ));

}
?>

Что бы не вводил в поля, результат один – валидация проходит успешно.
Вернуться к началу
uran26

цитировать



Зарегистрирован: 02 Апр 2009 12:13:49
Сообщения: 31
Откуда: Кировоград

СообщениеДобавлено: 23 Июн 2009 16:31:46    Заголовок сообщения: Ответить с цитатой

ни у кого такой ситуации никогда не возникало?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
uran26

цитировать



Зарегистрирован: 02 Апр 2009 12:13:49
Сообщения: 31
Откуда: Кировоград

СообщениеДобавлено: 23 Июн 2009 16:55:14    Заголовок сообщения: Ответить с цитатой

нашел свою ошибку - var $validate засунул в контроллер, а не в модель. все заработало.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
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