Форма содержит текстовые поля и загрузки файлов. Наличие файлов должно быть обязательным условием. Но если я хочу обновить элемент, то валидатор требует повторной загрузки файла, хотя он уже сохранен.
Правила
public function rules()
{
return [
[['name', 'code'], 'required'],
[['status', 'difficulty', 'new'], 'integer'],
[['file'], 'file', 'extensions' => ['jpg', 'png', 'jpeg'], 'checkExtensionByMimeType' => false],
// [['file'], 'validateImage', 'skipOnEmpty' => false, 'skipOnError' => false],
// [['file'], 'required', 'whenClient' => function ($model) {return empty($model->new_img);}],
];
}
В закомментированных строках я пробовала донести валидатору, что файл обязательное поле только если нет ранее загруженного файла.
Вот так прописано поле в форме
if(isset($model->file) && file_exists(Yii::getAlias('@app/web/upload/files', $model->file)))
{
echo Html::img('/upload/files/thumbs/'.$model->file, ['class'=>'img-responsive']).'<br>';
}
echo $form->field($model, 'file')->fileInput(['value' => '']) ?>
Как мне сделать нужное условие для валидатора, чтобы он проверял на обязательность если нет уже сохраненного файла?