禁用焦點鍵上的驗證錯誤訊息

預設情況下,如果未滿足任何驗證限制,則在 keyUp 上的 <div class="help-block"></div> 中的 textbox 下方或按下提交按鈕後會顯示錯誤訊息。

有時我們只想提交一條訊息,即在 onKeyup 事件中沒有驗證。

我們來看看 yii2/widgets/ActiveForm.php 檔案:

<?php

namespace yii\widgets;

use Yii;
use yii\base\InvalidCallException;
use yii\base\Widget;
use yii\base\Model;
use yii\helpers\ArrayHelper;
use yii\helpers\Url;
use yii\helpers\Html;
use yii\helpers\Json;

class ActiveForm extends Widget
{
  public $action = '';
  public $method = 'post';
  public $options = [];
  .
  .
  .
  public $validateOnSubmit = true;
  public $validateOnChange = true;
  public $validateOnBlur = true;
  public $validateOnType = false;
  
  .
  .
  .
  
}

在那裡我們看到 $validateOnBlur 預設設定為 true。更改框架檔案是一件非常糟糕的事情,因此我們需要在使用表單時覆蓋它:

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