webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg

Как сделать обязательным kartik fileInput?

Использую виджет загрузки:
https://github.com/kartik-v/yii2-widget-fileinput
Уже мозг закипает. Не могу понять как сделать его обязательным полем. Использую activeForm с аjax валидацией.
Вот вью:
$form->field($forma,'userimg')->widget(FileInput::classname(),[
                            'options' => ['accept' => 'image/*'],
                            'pluginOptions' => [
                                'allowedFileExtensions'=>['jpg', 'gif', 'png', 'bmp'],
                                'previewFileType' => 'image',
                                'showRemove' => false,
                                'showUpload' => false,
                                'browseClass' => 'btn btn-primary btn-block',
                                'browseIcon' => '<i class="glyphicon glyphicon-camera"></i> ',
                                'browseLabel' =>  Yii::t('knopki', 'upload'),
                                'overwriteInitial'=>false,
                            ]])

вот валидация:
['userimg', 'image', 'extensions' => 'png,jpg,jpeg', 'skipOnEmpty' => false, 'maxSize'=>5000000, 'minSize'=>100000, 'uploadRequired'=>Yii::t('order', 'noImage')],

Получается если 'skipOnEmpty' => false - тогда всегда ошибка, что нет фото. А если true, то соответственно поле не является обязательным (а надо).
При самбите есть $_files и все отлично загружается, но вот 'userimg' - пуст.
Как решить проблему? Может виджет не так как то настроил? Или можно в моделе в правилах как-то проверять наличие $_FILE? Но при ajax валидации он не передается. Уже 4-й час брожу по кругу. Буду рад любым идеям, советам и т.д.
  • Вопрос задан
  • 847 просмотров
Пригласить эксперта
Ответы на вопрос 1
@IvanSenishin
Скорее всего ошибка в методе загрузки картинок. Можете более подробный пример?
Ответ написан
Ваш ответ на вопрос

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

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