ActiveForm 驗證

你可以以活動形式啟用/禁用 ajax 和客戶端驗證。

$form = ActiveForm::begin([
    'id' => 'signup-form',
    'enableClientValidation' => true,
    'enableAjaxValidation' => true,
    'validationUrl' => Url::to('signup'),
]);
  1. 預設情況下,在 ActiveForm 中啟用 enableClientValidation。如果你不需要表單中的客戶端驗證,我們可以通過賦值為 false 來禁用。
  2. 預設情況下,在 ActiveForm 中禁用 enableAjaxValidation。如果你想啟用它,我們必須像上面那樣在 ActiveForm 中手動新增。
  3. validationUrl - 如果你希望將所有驗證編碼保留在此表單的單獨控制器操作中,我們可以使用 validationUrl 配置 activeform。如果我們沒有設定它,它將採用表單的動作值。

以上兩個論點將影響整個形式。如果要僅檢查表單中特定欄位的 ajax 驗證,可以為該特定欄位新增 enableAjaxValidation。它只適用於那個不是整個形式的領域。

例如,在登錄檔單中,你希望在使用者輸入表單時檢查使用者名稱已存在的驗證。你可以在這個領域使用這個 enableAjaxValidation 引數。

echo $form->field($model, 'username', ['enableAjaxValidation' => true]);