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]);