【发布时间】:2016-05-24 17:18:05
【问题描述】:
默认情况下,错误消息出现在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);
}
.
.
}
}
我找到了How to disable client side validation messages of active form in Yii 2?。
$form = ActiveForm::begin(['fieldConfig' => ['template' => '{label}{input}']]);
但是,在这个答案中。错误消息既不会出现在按键上,也不会出现在按下提交按钮时。要显示错误摘要,我需要使用<?= $form->errorSummary($model) ?>。那么,有没有办法禁用key up 错误消息并显示错误消息,因为它只在pressing 提交按钮上显示。
【问题讨论】:
-
尝试在活动表单属性中使用
'validateOnChange' => false。 -
谢谢@GAMITG:最后我明白了。而且,下面也发布了答案。
标签: php yii2 yii2-basic-app yii2-validation