Правила валидации в модели не отражаются во view

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
alex_r_85
Сообщения: 4
Зарегистрирован: 2016.03.10, 17:17

Правила валидации в модели не отражаются во view

Сообщение alex_r_85 »

Здравствуйте. Недавно пришлось править проект на Yii2. Потребовалось отменить правило валидации required для поля email в ActiveForm
Убрал:

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

   public function rules() {
        return [
            [['fio', 'password', 'role'], 'required'],       
            [['first_name', 'last_name','email'], 'safe'],
            [['is_active'], 'integer'],
            [['password'], 'string', 'max' => 255]
        ];
    }

    /**
Но это помогло, на форме это поле по-прежнему required, при сабмите - опять таки возвращает ошибку, что поле email required. Как мне победить эту ситуацию? Прошу конкретный совет.
alex_r_85
Сообщения: 4
Зарегистрирован: 2016.03.10, 17:17

Re: Правила валидации в модели не отражаются во view

Сообщение alex_r_85 »

Ок. Прочитал (никогда не лень перечитать уже известное). Мне кажется, вы не поняли вопрос. Мне нужно вообще снять required . При любом сценарии.
Писано же: If you do not specify the on property, the rule would be applied in all scenarios.
В данном случае я как раз не указал "on". То есть, согласно мануалу, эти правила должны применяться к любой ситуации . Но, по прежнему форма сгенереная по этой модели, требует email. Вот в чем вопрос
Аватара пользователя
chungachguk
Сообщения: 435
Зарегистрирован: 2012.07.17, 11:52

Re: Правила валидации в модели не отражаются во view

Сообщение chungachguk »

Чтобы вообще снять required, надо удалить его для поля из rules. И никаких проверок на HTML-странице не генерируется. Если брать стандартный сгенерированный CRUD для модели, то есть 2 класса: Model и SearchModel, rules есть и там и там. 2 класс используется ActiveForm
alex_r_85
Сообщения: 4
Зарегистрирован: 2016.03.10, 17:17

Re: Правила валидации в модели не отражаются во view

Сообщение alex_r_85 »

Совсем удалить required? А как же password и login, они же required. Вот, в первом посте мои rules. email убран из required.
countryman
Сообщения: 143
Зарегистрирован: 2015.12.15, 02:05

Re: Правила валидации в модели не отражаются во view

Сообщение countryman »

alex_r_85 писал(а):Совсем удалить required? А как же password и login, они же required. Вот, в первом посте мои rules. email убран из required.
Возможно вы правите base класс от которого наследован другой класс в котором указаны правила перекрывающие те, что вы правите.
Аватара пользователя
chungachguk
Сообщения: 435
Зарегистрирован: 2012.07.17, 11:52

Re: Правила валидации в модели не отражаются во view

Сообщение chungachguk »

alex_r_85 писал(а):Совсем удалить required? А как же password и login, они же required. Вот, в первом посте мои rules. email убран из required.
В первом посте у тебя всё правильно сделано. И если эту модель передавать в ActiveForm, то никакого правила required для email на странице генерироваться не должно. Значит ты используешь не ту модель.
alex_r_85
Сообщения: 4
Зарегистрирован: 2016.03.10, 17:17

Re: Правила валидации в модели не отражаются во view

Сообщение alex_r_85 »

Господа, всем спасибо, выяснилась причина.
Как оказалось, я действительно посмотрел не в ту модель.
Ответить