Php yii2 ajax验证不会显示错误
我有一个小部件中的ActiveForm,希望验证它的字段(获取 字段下的错误),而不重新加载页面。但是最好的 结果,我得到的是验证错误的json 行动。“验证…”似乎根本不起作用,我也尝试了 捕获“beforeValidate”回调,但它也不起作用。我试了很多 几乎决定了这是不可能的。可能有人看见了 我的主要错误,如果是,请帮助我Php yii2 ajax验证不会显示错误,php,yii2,yii2-validation,Php,Yii2,Yii2 Validation,我有一个小部件中的ActiveForm,希望验证它的字段(获取 字段下的错误),而不重新加载页面。但是最好的 结果,我得到的是验证错误的json 行动。“验证…”似乎根本不起作用,我也尝试了 捕获“beforeValidate”回调,但它也不起作用。我试了很多 几乎决定了这是不可能的。可能有人看见了 我的主要错误,如果是,请帮助我 窗体视图 <div class="feedback-form__wrap"> &l
窗体视图
<div class="feedback-form__wrap">
<?php $form = ActiveForm::begin([
'class' => 'feedback-form__form',
'id' => 'feedback-form',
'enableAjaxValidation' => true,
'enableClientValidation' => false,
'ajaxDataType' => 'json',
'validateOnChange' => true,
'validateOnType' => true,
'validateOnBlur' => true,
'validationUrl' => '/feedback/validate',
]) ?>
<div class="custom-input-wrapper">
<?= Html::activeTextInput($feedbackForm, 'name', [
'class' => 'custom-input',
'required' => 'required',
'placeholder' => 'Имя',
'enableAjaxValidation' => true,
]); ?>
</div>
...
我的表单类(规则和方法)
首先,您应该将
Html::activeTextInput
更改为$form->field($feedbackForm,'name')->textInput
模式
由于$form->field
生成错误块、验证错误等
替换
<?=
$form->field($feedbackForm, 'name')->textInput([
'class' => 'custom-input',
'required' => 'required',
'placeholder' => 'Имя',
]);
?>
而不是
<?=
Html::activeTextInput($feedbackForm, 'name', [
'class' => 'custom-input',
'required' => 'required',
'placeholder' => 'Имя',
'enableAjaxValidation' => true,
]);
?>
告诉我您的问题是否仍然存在。首先,您应该将
Html::activeTextInput
更改为$form->field($feedbackForm,'name')->textInput
模式
由于$form->field
生成错误块、验证错误等
替换
<?=
$form->field($feedbackForm, 'name')->textInput([
'class' => 'custom-input',
'required' => 'required',
'placeholder' => 'Имя',
]);
?>
而不是
<?=
Html::activeTextInput($feedbackForm, 'name', [
'class' => 'custom-input',
'required' => 'required',
'placeholder' => 'Имя',
'enableAjaxValidation' => true,
]);
?>
告诉我你的问题是否仍然存在