Неправильно работает валидация

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
lolka
Сообщения: 143
Зарегистрирован: 2013.05.05, 20:59

Неправильно работает валидация

Сообщение lolka »

Всем привет! Столкнулся с такой проблемой:

Есть попап форма, и там ajaxSubmitButton. При отправке и проверки данных

$model = new Test;
$model->attributes=$_POST['Test'];
$error = CActiveForm::validate($model);
вернул не все ошибки. У меня в правилах добавлено одно поле "Согласен..." - agreement

Код: Выделить всё

class Test extends CActiveRecord
{
    public $agreement;
....

public function rules()
    {
        // NOTE: you should only define rules for those attributes that
        // will receive user inputs.
        return array(
            array('username, email, url,  agreement', 'required'),
 
все ошибки выводятся кроме agreement ajax-ом. Что не так?
lancedevnull
Сообщения: 1268
Зарегистрирован: 2013.07.17, 17:37

Re: Неправильно работает валидация

Сообщение lancedevnull »

checkbox же, он либо тру либо фальш он заполнен какбэ всегда иногда через хайден поле
Аватара пользователя
Neuromance
Сообщения: 716
Зарегистрирован: 2011.09.06, 13:04

Re: Неправильно работает валидация

Сообщение Neuromance »

Код: Выделить всё

  public function setAgreement($agreement){
    $this->agreement = $agreement ? $agreement : null;
  }
lolka
Сообщения: 143
Зарегистрирован: 2013.05.05, 20:59

Re: Неправильно работает валидация

Сообщение lolka »

Neuromance , что с ним делать? в модель вставить? а дальше что можете подсказать?
Аватара пользователя
Neuromance
Сообщения: 716
Зарегистрирован: 2011.09.06, 13:04

Re: Неправильно работает валидация

Сообщение Neuromance »

lolka писал(а):Neuromance , что с ним делать? в модель вставить? а дальше что можете подсказать?
В модель. После этого, если придёт пустой чекбокс (т.е. со значением false), то значение атрибута будет меняться на null и будет срабатывать валидация.
Эта функция-сеттер, она автоматически будет использоваться при записи атрибута модели.
lancedevnull
Сообщения: 1268
Зарегистрирован: 2013.07.17, 17:37

Re: Неправильно работает валидация

Сообщение lancedevnull »

Neuromance писал(а): она автоматически будет использоваться при записи атрибута модели.
вроде setAttribute приоритетнее сеттера 8-)
Аватара пользователя
Neuromance
Сообщения: 716
Зарегистрирован: 2011.09.06, 13:04

Re: Неправильно работает валидация

Сообщение Neuromance »

lancedevnull писал(а):
Neuromance писал(а): она автоматически будет использоваться при записи атрибута модели.
вроде setAttribute приоритетнее сеттера 8-)
Вы правы! Тогда нужно написать свой валидатор для этого поля.
Ответить