addchild
- addchild 2016-07-27 已签到连续签到1天,获得了5个金钱
- addchild 提出了问题update更新数据库问题
- addchild 2016-05-31 已签到连续签到1天,获得了5个金钱
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验证。现在还在研究这个问题,希望对你有点思路
@qiuheping 解决了
- addchild 2016-01-14 已签到连续签到1天,获得了5个金钱
- addchild 2015-11-14 已签到连续签到1天,获得了5个金钱
- addchild 2015-10-14 已签到连续签到1天,获得了5个金钱
- addchild 提出了问题yii2 RBAC权限怎么分类
这不算是bug, 不过挺有意思的.
两个处理建议 :
1, 看样子你的表单中,min
在max
前面, 那么你可以把验证规则再加上一条`[['max'], 'compare', 'operator'=>'>=', 'compareAttribute'=>'min']`;
这样子 就会在输入
max
后再检测一次了.不过 这样有点重复. 你也可以折中一点,只留
max
, 因为大部分情况下 用户是先输min
后输max
;2, 自己再写一小段
js
, 填写完max
手动调用yii.validate
中的相应验证方法.第一种方法还是不行,加了max只是在输入max之后验证了max字段,不会去连带验证min。
第二种方法具体怎么写呢- addchild 提出了问题2.0表单验证compare问题