yii2可以自定义form的某个字段用自定义的ajax验证吗 [ 2.0 版本 ]
yii2可以自定义某个form的一个字段用自定义的ajax验证吗?能举个例子没
共 1 个回答
-
yii\widgets\ActiveField中有这么一个属性enableAjaxValidation是否启用基于ajax的数据验证。如果没有设置值等于ActiveForm::enableAjaxValidation的值。
$form = ActiveForm::begin(); echo $form->field($model, 'username',['enableAjaxValidation'=>true])->textInput(['maxlength' => true]); echo $form->field($model, 'password')->passwordInput(); ActiveForm::end();
上面的代码我的理解是username字段进行ajax验证,password字段不进行ajax验证。但是我尝试了一下发现还有点问题,就是如果先输入password字段的话password是不会进行ajax验证的,但是只要先输入username进行了ajax验证之后再输入password时发现也出现了ajax验证,就是说一但有一个字段先进行了ajax验证其他不需要的字段也会进行ajax验证。现在还在研究这个问题,希望对你有点思路
共 6 条回复@YiiNewer 我说的那个方法是对的,之前不能用是因为服务器的程序写的不对造成的。
if(Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())){ Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; return \yii\widgets\ActiveForm::validate($model); }
这样就可以了。只验证写了
['enableAjaxValidation'=>true]
的字段,其他不进行ajax验证的@qiuheping 解决了
YiiNewer
注册时间:2014-10-12
最后登录:2018-07-18
在线时长:46小时16分
最后登录:2018-07-18
在线时长:46小时16分
- 粉丝13
- 金钱530
- 威望70
- 积分1690