1

默认情况下,表单中的提交按钮出现keyup和之后出现错误消息pressing(如果该特定属性存在任何错误)。没关系。工作得很好。

但是,是否有可能出现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);
    }
        .
        .
    }
}

我发现如何在 Yii 2 中禁用活动表单的客户端验证消息?.

$form = ActiveForm::begin(['fieldConfig' => ['template' => '{label}{input}']]);

但是,在这个答案中。错误消息既不会出现在按键上,也不会出现在按下提交按钮时。要显示错误摘要,我需要使用<?= $form->errorSummary($model) ?>. 那么,有没有办法禁用key up错误消息并显示错误消息,因为它只在pressing提交按钮上显示。

4

2 回答 2

3

我在.../widgets/ActiveForm.php中找到。一个选项是validateOnBlur默认设置的true。所以,我把它改成了false我的形式。

@Gamitg & @Jithin:感谢您的支持。

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

现在,它工作正常。

于 2016-05-25T12:09:22.530 回答
0

添加

'enableClientValidation'=>假

到您的表单选项:

<?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>
于 2016-05-25T04:43:12.403 回答