Yii2:禁用对场模糊的ActiveForm Ajax验证

时间:2018-04-17 15:53:20

标签: yii2

如何自动禁用Yii(验证onblur)ajax验证? 我想在按下提交按钮后才进行验证。

3 个答案:

答案 0 :(得分:4)

您希望使用enableAjaxValidation来验证您的表单,同时一旦您输入该字段,就不希望在该字段的每个blur上触发ajax验证。您只想在提交表单时触发验证。

要使用ajaxValidation执行此操作,您要使用的主要选项是

  • validateOnBlur这是ActiveForm选项,您需要将false作为值传递给该选项。

  • validateOnChange位于ActiveForm选项中,或者您可以在fieldConfig的{​​{1}}选项下指定它以应用于所有字段。您需要将ActiveForm作为值传递来关闭它。

如果在字段中没有输入值,false将禁用验证,如果您键入某些文本然后模糊它将触发验证并禁用我们需要使用{{1} }。

您的表单配置应如下所示

validateOnBlur

答案 1 :(得分:1)

如果要完全禁用ajax验证,请将表单中的enableAjaxValidation设置为false:

$form = ActiveForm::begin([
    'enableAjaxValidation' => false
]);

https://www.yiiframework.com/doc/api/2.0/yii-widgets-activeform# $ enableAjaxValidation细节

答案 2 :(得分:0)

有一个名为$validateOnBlur的属性,其内容为:

  

当输入字段失去焦点时是否执行验证。如果   yii \ widgets \ ActiveField :: $ validateOnBlur已设置,其值将采用   该输入字段的优先级。

将其设置为false,因为默认值为true。例如:

$form = ActiveForm::begin([
    'validateOnBlur' => false
]);