以前,当我在ActiveForm上将enableAjaxValidation设置为false时,文件验证工作得很好,但是在我将enabledAjaxValidation设置为true以检查唯一的slug后,它不起作用。 这就是我所做的
Form:
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data'] , 'enableAjaxValidation' => true,'id' => 'article-form']); ?>
Model rule:
[['slug'], 'unique'],
[['featureFile' , 'bannerFile'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg' , 'on' => 'create'],
控制器:
use yii\web\Response; //Ajax Validation
use yii\widgets\ActiveForm; //Ajax Validation
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post()))
{
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
请帮助!!!
答案 0 :(得分:2)
您可以禁用指定字段的ajax验证。
尝试
<?= $form->field($model, 'featureFile', ['enableAjaxValidation' => false])->fileInput() ?>