将enableAjaxValidation设置为true后,Yii2文件验证错误不起作用

标签 yii2 yii2-advanced-app yii2-basic-app

以前,当我在 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);
 }

即使我已经选择了图像文件,但它仍然显示验证错误 enter image description here

请帮忙!!!

最佳答案

您可以禁用指定字段的ajax验证。

尝试

<?= $form->field($model, 'featureFile', ['enableAjaxValidation' => false])->fileInput() ?>

关于将enableAjaxValidation设置为true后,Yii2文件验证错误不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36612805/

相关文章:

mysql - yii2 : Getting unknown property when using findBySql

php - yii2 中使用 Active Record 的复杂数据库查询

php - Yii2 Url::remember() 是如何工作的?

php - 如何自定义 Yii2 英语验证消息翻译?

php - 如何在 JQuery 中设置 Yii2/Kartik/Bootstrap DatePicker

php - 无效配置 - yii\base\InvalidConfigException - Yii2

activerecord - Yii2事件记录模型不保存数据

Yii2 Pjax 不工作

rest - 如何为Yii2-basic-template创建REST API

php - 如何设置YII2多数据库可配置?