@atomrus1993

Как в yii2 сделать валидацию поля только для гостя?

Есть форма, к примеру обратная связь.
Есть поля:
  1. Имя
  2. Email
  3. Сообщение


Как сделать валидацию так, чтобы для гостя эти поля были обязательные(имя, мыло), а для юзера нет.
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
@morricone85
Проще всего это сделать с помощью сценариев, например:

$model = new Feedback;
if ( --условие-- ) {
    $model->scenario = Feedback::SCENARIO_GUEST;
}

в моделе:
[['username', 'password', 'email'], 'required', 'on' => self::SCENARIO_GUEST]

и т.д.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Много вариантов, можно разные модели иметь для разных типов юзеров, можно использовать: https://www.yiiframework.com/doc/api/2.0/yii-valid...
Можно юзать сценарии и https://www.yiiframework.com/doc/api/2.0/yii-valid...
Наверное еще есть варианты, но думаю этих хватит
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы