我使用ActiveForm
作为我的模型表单。但是,对于几个字段,而不是使用$form->field(...)->dropDownList()
$form = ActiveForm::begin()
来显示字段,我使用Html::activeDropDownList($model, 'attribute')
,对于相应的属性,我有一个验证规则(在模型内) 。我还在表单中启用了enableAjaxValidation
和enableClientValidation
。我注意到虽然使用$form->field()
方法创建的所有字段都触发了AJAX验证,但我的自定义Html::activeDropDownList()
字段不会触发验证(我可以看到那些从yiiActiveForm()
javascript函数中排除的字段调用生成的页面源代码)。我如何自动触发这些字段的AJAX验证?
答案 0 :(得分:0)
我遇到了同样的问题,我认为你应该在所有字段中使用ActiveForm来使验证按预期工作。为什么不使用$form->field(...)->dropDownList()
?
您可以为此自定义字段编写自己的验证器(某些字段将由ActiveForm验证,某些字段将由您的处理程序验证),但这是不好的做法。