Проверка расширения файла yii2 не работает - PullRequest
1 голос
/ 31 октября 2019

У меня есть правило в моей модели, как это

public function rules()
{
    return [
        [['tbl_data_induk_mahasiswa_id'], 'required'],
        [['tbl_data_induk_mahasiswa_id'], 'integer'],
        [['nama'], 'file','extensions'=>'png,jpg','maxSize' => 1024000,'tooBig' => 'Size maksimum adalah 1 MB'],

        [['nama'], 'string', 'max' => 300],

        [['tbl_data_induk_mahasiswa_id'], 'unique'],
        [['tbl_data_induk_mahasiswa_id'], 'exist', 'skipOnError' => true, 'targetClass' => TblDataIndukMahasiswa::className(), 'targetAttribute' => ['tbl_data_induk_mahasiswa_id' => 'id']],
    ];
}

У меня есть такая форма

<?php
use yii\helpers\Html;
//use yii\widgets\ActiveForm;
echo Html::beginForm(
     ['mahasiswa-foto-biodata/update'],
     'post',
     ['enctype' => 'multipart/form-data'] //if you want to upload file with post
); ?>
<div class="form-group form-file-upload form-file-multiple">
    <?= Html::activeFileInput(
        $model,
        'nama',
        ['class' => 'inputFileHidden', 'multiple' => '']
    ); ?>
    <div class="input-group">
        <?= Html::activeTextInput(
            $model,
            'nama', 
            [
                'class' => 'form-control inputFileVisible',
                'placeholder' => 'Single File',
            ]
        ); ?>
        <span class="input-group-btn">
            <button type="button" class="btn btn-fab btn-round btn-primary">
                <i class="material-icons">attach_file</i>
            </button>
        </span>
    </div>
</div> 
<div class="form-group">
<?= Html::submitButton('Save', ['class' => 'btn btn-success']) ?>
</div>  
<?= Html::endForm(); ?>

Я не могу использовать виджет activeForm, потому что я должен создать HTML-форму, которая подходит для моегошаблон, форма работает, файл успешно загружен, проблема в том, что каждый файл с подсказками успешно загружен, не только png или jpg, но если я изменяю максимальное правило для nama на [['nama'], 'string', 'max' => 2],, тогда я загружаю файл, которыйдлина имени файла более двух, файл не может быть загружен.

Любая помощь?

1 Ответ

1 голос
/ 31 октября 2019

Пожалуйста, проверьте вашу форму, у вас есть 02 типа ввода с тем же именем ("нама"). Один из них - «файл», другой - «текст». Я думаю, это причина того, что ваша форма не работает правильно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...