在yii2中使用自定义ID进行Ajax验证

克里斯恩·帕特尔

我在如下的foreach循环中有一个相同的字段

foreach ( $subCategoryData as $k => $val) {
    <?= $form->field($model, 'sub_category', ['template' => '{input}'])->textInput(['maxlength' => 255, 'class' => 'form-control required section_name', 'name' => "Category[sub_category][$k][name]"]) ?>
} ?>

我使用自定义方法进行了ajax验证,效果很好。

但这仅适用于第一个输入。因为它具有相同的ID。

但是,当我'inputOptions' => ['id' => 'myCustomId']使用以下命令对其进行更改并使其唯一时,不调用我的ajax验证。

foreach ( $subCategoryData as $k => $val) {
    <?= $form->field($model, 'sub_category', ['template' => '{input}','inputOptions' => ['id' => "category-sub_category_".$k]])->textInput(['maxlength' => 255, 'class' => 'form-control required section_name', 'name' => "Category[sub_category][$k][name]"]) ?>
}

我在这里看到了这个解决方案https://github.com/yiisoft/yii2/issues/7627

并且也看到了这个https://stackoverflow.com/a/28460442/2286537

但是没有任何工作可以帮助我吗?

用户206

您的问题与您介绍的帖子不同。您应该使用loadMultiple。

例:

if (\Yii::$app->request->isAjax) {
    if (\yii\base\Model::loadMultiple($model,\Yii::$app->request->post())) {
        \Yii::$app->response->format = Response::FORMAT_JSON;
        echo json_encode(ActiveForm::validateMultiple($model));
        \Yii::$app->end();
    }
}

if ( \yii\base\Model::loadMultiple($model, Yii::$app->request->post()) &&  \yii\base\Model::validateMultiple($model)) {
      foreach ($model as $models) {
          $models->save(false);
      }

鉴于:

<?php $form = ActiveForm::begin([
      'enableAjaxValidation' => true,
   ]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Yii2中使用自定义的CSS文件进行模块布局

yii2自定义验证不起作用

Yii2。自定义类验证器

Yii2 自定义验证数组规则

自定义验证在yii2中不起作用

Yii2 中 DynamicFormWidget 的自定义验证不起作用

受保护的目录存在并在Yii2中创建自定义验证器

自定义验证消息在Yii2中不起作用

Yii2 自定义验证规则,使用三个属性比较函数

如何在yii2 dataprovider gridView中使用自定义数组?

Rest ActiveController Yii2中具有id的Action中的自定义操作

在yii2中自定义网格视图

Yii2中的自定义图标

YII2:搜索模型中的自定义排序

使用自定义模板yii2的小巧机身

使用文件输入进行Yii2 AJAX验证

在环回中使用数组进行自定义验证

Yii2使用Gii模型生成器在模型中创建自定义函数

如何在 Yii2 中使用新创建的自定义 Postgres 模式类型(ENUM)

yii2上的自定义验证过滤器

Yii2,自定义验证:clientValidateAttribute()无法正常工作

Yii2上的自定义字段验证器客户端

Yii2模型自定义验证方法/功能不起作用

yii2使用自定义列查询给出:“具有子句”中的未知列“ columnname”

在select2中使用Ajax时无法获取自定义属性值

在ASP.NET MVC5中使用自定义登录进行表单身份验证

Yii2-表单验证规则:如何使用自定义验证功能或替代方法?

控制器中的自定义操作在yii2中不起作用

在 Yii2 中无法在 gridview 中显示来自模型的自定义列