禁用焦点/键上的Yii验证错误消息 - Yii2

时间:2016-05-24 17:18:06

标签: php yii2 yii2-basic-app yii2-validation

默认情况下,表单中keyuppressing提交按钮后出现错误消息(如果该特定属性存在任何错误)。哪个好。工作得很好。

但是,disable上是否有key up错误消息?手段,错误消息,如果有的话,只应按下提交按钮。

查看

<?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提交按钮之前。

2 个答案:

答案 0 :(得分:3)

我在 ... / widgets / ActiveForm.php 中找到了。一个选项是validateOnBlur,默认设置为true。所以,我在表单中将其更改为false

  

@Gamitg&amp; @Jithin:谢谢您的支持。

<?php $form = ActiveForm::begin([ 'id' => 'register-form','validateOnBlur' => false]); ?>

现在,工作正常。

答案 1 :(得分:0)

添加

  

&#39; enableClientValidation&#39; = GT;假

到您的表单选项:

<?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>