FreeTibet
@FreeTibet
dharma supplier

Yii2. Как отменить правило валидации для конкретного элемента?

Нужно отменить валидацию для конкретных элементов при определенных условиях.
я попробовал вот такой путь:

правило валидации:
'image' => [
                ['PhotoFacet', 'PhotoProfile'], 'image', 'when' => function($model) {
                    return $model->PhotoFacet!="skip";
                },'message' => $lang["non_image"], 'notImage' => $lang["non_image"],
            ],


Код во вьюхе:
echo $form->field($model, 'PhotoProfile')->hiddenInput(['value' => 'skip'])->label(false);
echo $form->field($model, 'PhotoFacet')->hiddenInput(['value' => 'skip'])->label(false);


Однако, все равно получаю работающее правило. Почему так? Или, возможно, есть другой более правильный путь?

Спасибо.
  • Вопрос задан
  • 166 просмотров
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
$lang["non_image"] - очень смущает этот массив, но это так по ходу паровоза, влиять не должно.
А вот почему у Вас правила валидации оказались в масcиве 'image' => [ Покажите полный код модели.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы