@EVOSandru6

Можно ли в yii в rules поставить валидатор по определенному условию?

Добрый день,

Есть такое правило:

[['carCorpus','carCapacity','carName','carSerialNumber','carCategory','carVolume'],'required','on'=>['registration']],


Но я хочу, чтобы оно работало только, если у меня в get параметрах стоит определенный role_id?

website/registration?role_id=2

Это возможно?

Конечно можно разбить на 2 сценария и перенести часть обязательств на него, но интересно, можно ли в рамках одного такие штуки вытворять?!
  • Вопрос задан
  • 103 просмотра
Решения вопроса 2
1. Вы можете написать свой валидатор и проверять в нем все, что вашей душе угодно.
2. Перед валидацией вы можете инициализировать модель с переданным role_id и в валидаторе использовать доп условия, типа:
[
    ['state', 'required', 'when' => function($model) {
        return $model->role_id == '2';
    }],
]
Ответ написан
Комментировать
index0h
@index0h
PHP, Golang. https://github.com/index0h
Модель ничего не должна знать о роутинге, разбивайте на 2 сценария.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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