在焦点/按键上禁用 Yii 验证错误消息 - Yii2
Disable Yii Validation Error Message on focus / key up - Yii2
默认情况下,错误消息出现在 keyup
和 pressing
表单提交按钮之后(如果该特定属性存在任何错误)。这没关系。工作得很好。
但是,是否可以在 key up
上显示 disable
错误消息?意思是,错误消息(如果有的话)应该只在按下提交按钮时出现。
查看
<?php $form = ActiveForm::begin([ 'id' => 'register-form']); ?>
<?= $form->field($model, 'first_name',['inputOptions' => ['class' => 'form-control fname','placeholder'=>'First Name']])->label(false); ?>
.
.
<p><?= Html::submitButton('REGISTER', ['name' => 'register-button']) ?></p>
控制器
public function actionRegister()
{
$model = new Users(); // User Model
if ($model->load(Yii::$app->request->post())) {
// For Ajax Email Exist Validation
if(Yii::$app->request->isAjax ) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
.
.
}
}
我找到了 。
$form = ActiveForm::begin(['fieldConfig' => ['template' => '{label}{input}']]);
但是,在这个回答中。错误消息既不会出现在按键上,也不会出现在按下提交按钮时。要显示错误摘要,我需要使用 <?= $form->errorSummary($model) ?>
。那么,有什么方法可以禁用 key up
错误消息并显示错误消息,因为它只在 pressing
提交按钮上显示。
添加
'enableClientValidation'=>false
到您的表单选项:
<?php $form = ActiveForm::begin([ 'id' => 'register-form','enableClientValidation'=>false]); ?>
<?= $form->field($model, 'first_name',['inputOptions' => ['class' => 'form-control fname','placeholder'=>'First Name']])->label(false); ?>
.
.
<p><?= Html::submitButton('REGISTER', ['name' => 'register-button']) ?></p>
我在 .../widgets/ActiveForm.php 中找到了。一个选项是 validateOnBlur
,默认设置为 true
。所以,我在我的表格中将其更改为 false
。
@Gamitg & @Jithin: Thanks For Your Kind Support.
<?php $form = ActiveForm::begin([ 'id' => 'register-form','validateOnBlur' => false]); ?>
现在,一切正常。
默认情况下,错误消息出现在 keyup
和 pressing
表单提交按钮之后(如果该特定属性存在任何错误)。这没关系。工作得很好。
但是,是否可以在 key up
上显示 disable
错误消息?意思是,错误消息(如果有的话)应该只在按下提交按钮时出现。
查看
<?php $form = ActiveForm::begin([ 'id' => 'register-form']); ?>
<?= $form->field($model, 'first_name',['inputOptions' => ['class' => 'form-control fname','placeholder'=>'First Name']])->label(false); ?>
.
.
<p><?= Html::submitButton('REGISTER', ['name' => 'register-button']) ?></p>
控制器
public function actionRegister()
{
$model = new Users(); // User Model
if ($model->load(Yii::$app->request->post())) {
// For Ajax Email Exist Validation
if(Yii::$app->request->isAjax ) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
.
.
}
}
我找到了
$form = ActiveForm::begin(['fieldConfig' => ['template' => '{label}{input}']]);
但是,在这个回答中。错误消息既不会出现在按键上,也不会出现在按下提交按钮时。要显示错误摘要,我需要使用 <?= $form->errorSummary($model) ?>
。那么,有什么方法可以禁用 key up
错误消息并显示错误消息,因为它只在 pressing
提交按钮上显示。
添加
'enableClientValidation'=>false
到您的表单选项:
<?php $form = ActiveForm::begin([ 'id' => 'register-form','enableClientValidation'=>false]); ?>
<?= $form->field($model, 'first_name',['inputOptions' => ['class' => 'form-control fname','placeholder'=>'First Name']])->label(false); ?>
.
.
<p><?= Html::submitButton('REGISTER', ['name' => 'register-button']) ?></p>
我在 .../widgets/ActiveForm.php 中找到了。一个选项是 validateOnBlur
,默认设置为 true
。所以,我在我的表格中将其更改为 false
。
@Gamitg & @Jithin: Thanks For Your Kind Support.
<?php $form = ActiveForm::begin([ 'id' => 'register-form','validateOnBlur' => false]); ?>
现在,一切正常。