如何自动禁用Yii(验证onblur)ajax验证? 我想在按下提交按钮后才进行验证。
答案 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
]);