VIEW
echo $form->create('Price', array('action' => 'index'));
echo $form->input('name', array('label' => 'Ваше Имя'));
echo $form->input('city', array('label' => 'Город'));
echo $form->input('phone', array('label' => 'Телефон'));
echo $form->input('email', array('label' => 'Email'));
echo $form->input('org', array('label' => 'Организация'));
echo $form->input('td', array('label' => 'Род деятельности
организации'));
MODEL
public $validate = array(
'name' => array(
VALID_NOT_EMPTY,
'rule' => 'notEmpty',
'message' => 'Пустое имя не допускается'
),
'email' => array(
VALID_EMAIL,
'rule' => array('email', true),
'message' => 'Неверно введен адрес электронной почты'
),
'city' => array(
VALID_NOT_EMPTY,
'rule' => 'notEmpty',
'message' => 'Название города объязательно!'
),
'phone' => array(
VALID_NOT_EMPTY,
'rule' => 'notEmpty',
'message' => 'номер телефона объязателен!'
),
'org' => array(
VALID_NOT_EMPTY,
'rule' => 'notEmpty',
'message' => 'Название организации объязательно! Если вы -
частное лицо, так и пишите.'
),
);
CONTROLLER
if (!empty($this->data)) {
if ($this->Price->create($this->data) && $this->Price->validates())
{
if($this->Price->save($this->data)){
// TODO CODE
} else {
$this->Session->setFlash('Не удалось обработать запрос');
}
} else {
$errors = $this->Price->invalidFields();
$this->Session->setFlash('Проверьте, пожалуйста, верно ли введены
данные?');
}
}
Потому что проверка "validEmail" - не означает, что поле не может быть
пустым.
Под "даже неверные" - неужели проходят валидацию пустые поля? Если да
- то пора тикет писать.
var $validate = array(
'fieldName1' => array(
'rule' => 'ruleName', // or: array('ruleName', 'param1', 'param2' ...)
'required' => true,
'allowEmpty' => false,
'on' => 'create', // or: 'update'
'message' => 'Your Error Message'
)
);
ваше правило для имени
'name' => array(
VALID_NOT_EMPTY,
'rule' => 'notEmpty',
'message' => 'Пустое имя не допускается'
),
правильнее будет
'name' => array(
'rule' => VALID_NOT_EMPTY,
'message' => 'Пустое имя не допускается'
),
c остальными полями так же
'name' => array(
'rule' => VALID_NOT_EMPTY,
'message' => 'Пустое имя не допускается'
) и
'name' => array(
'rule' => 'notEmpty',
'message' => 'Пустое имя не допускается'
)
Перебрал весь контроллер...
Не помогает.
On 11 ноя, 16:31, Anton Balanyuk <alaga...@gmail.com> wrote:
> дебаж каждую строку контроллера , 2 и 3 вариан правильный.
>
> 11 ноября 2009 г. 11:55 пользователь Hektor <kamo...@gmail.com> написал:
$this->log($this->data), LOG_DEBUG);
$this->log($this->Price->set($this->data), LOG_DEBUG);
$this->log($this->Price->data), LOG_DEBUG);
On 11 ноя, 18:24, Hellbot <g.hell...@gmail.com> wrote:
> Проверьте, а загружается ли файл модели.
> Может быть досадная ошибка и например файл модели лежит не в
> app/models/price.php
> И тогда кейк создает модель по таблице сам (ну и там правил валидации нет)
>
> 2009/11/11 Hektor <kamo...@gmail.com>
11 ноября 2009 г. 16:13 пользователь Anton Balaniuc
<alag...@gmail.com> написал:
--
С уважением, Влад