Прошу помощи.
Возникает рандомная ошибка валидации при загрузке файла любого типа (кроме изображений, если установить image, вместо file).
Под рандомной ошибок имею ввиду: превышен размер файла (почему-то пишет 2мб, когда он 5 мб), неверный тип файла и тд.
Если валидацию убрать, то файл просто не загружается.
Вьюха:
Код: Выделить всё
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?>
<?php echo $form->field($model, 'json_file')->widget(FileInput::classname(), [
'options' => [
'accept' => 'application/json',
],
'pluginOptions' => [
'showPreview' => false,
],
]); ?>
<?php ActiveForm::end(); ?>
Код: Выделить всё
$model = new LoadDataForm();
if ($model->load(Yii::$app->request->post())) {
$model->json_file = UploadedFile::getInstance($model, 'json_file');
$model->json_load();
}
Код: Выделить всё
public function rules()
{
return [
[['json_file'],
'file',
'skipOnEmpty' => false,
'extensions' => 'json',
'mimeTypes' => 'application/json',
'maxSize' => 1024 * 1024 * 5,
]
];
}
public function json_load()
{
if ($this->validate()) {
$this->json_file->saveAs($tmp_file_path);
}
}