gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 04:10:11 25 4
gpt4 key购买 nike

我在 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

但是没有任何效果谁能帮我吗?

最佳答案

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

Example:

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);
}

View 中:

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

关于在 yii2 中使用自定义 id 进行 Ajax 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43544613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com