以前,当我在 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'],
Controller :
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);
}
请帮忙!!!
最佳答案
您可以禁用指定字段的ajax验证。
尝试
<?= $form->field($model, 'featureFile', ['enableAjaxValidation' => false])->fileInput() ?>
关于将enableAjaxValidation设置为true后,Yii2文件验证错误不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36612805/