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