Из двух пар полей ввода мне нужен только тот или иной. Я не могу получить правильность проверки.Yii2 При проверке
listing_image_url
и poster_image_url
должно быть необходимо, только если $model->listingImage
- null.
Также пробовал использовать strlen($model->listingImage) == 0
.
[['listing_image_url', 'poster_image_url'], 'required',
'when' => function($model){
var_dump($model->listingImage); //result is empty string '0'
return $model->listingImage == NULL && $model->posterImage == NULL;
},'whenClient' => "function(attribute, value) {
return $('#vod-listingimage').val() == '' && $('#vod-posterimage').val() == '';
}", 'message' => 'look'
],
Как и выше, но наоборот.
[['listingImage', 'posterImage'], 'required',
'when' => function($model) {
return $model->listing_image_url == NULL && $model->poster_image_url == NULL;
},
'whenClient' => "function(attribute, value) {
return $('#vod-listing_image_url').val() == '' && $('#vod-poster_image_url').val() == '';
}", 'message' => 'hi'
],
Не могли бы вы уточнить ваши правила, возможно, с помощью [таблица истинности] (https://en.wikipedia.org/wiki/Truth_table)? Является ли установка 'poster_image' и' listing_image_url' действительной? – topher