在Yii 1中你可以为textField添加一个选项,这样当这个字段模糊时,它会启动一个ajax调用:
echo $form->textField($model, 'field_name', [
'ajax' => [
'type' => 'POST',
'url' => Yii::app()->createUrl('ajax/process-field'),
'update' => '#Form_field',
'data' => array('field' => 'js:this.value'),
'success' => 'jsFunction'
]]);
有没有办法在Yii2中做同样的事情?我一直在四处寻找,但无法找到它。
答案 0 :(得分:1)
我找到了另一种解决方案: 在模型规则中,您可以使用参数 whenClient :
public function rules()
{
return [
//your rules here
[['field_name'], 'string', 'max' => 6, 'whenClient'=>function(attribute, value){
$.get('/ajax/process-field', {'field':value}, jsFunction);
}],
];
}
Yii 2文档中记录了它:Conditional Validation
我不确定这是否是最好的方式,但它有效。