2015-09-21 19:03:24 4782次浏览 1条回答 0 悬赏 10 金钱

我有这么一条规则:[['min'], 'compare', 'operator'=>'<=', 'compareAttribute'=>'max']
当先输入min时会提示min必须小于或等于max,但是当我输入max的值大于min时,在min中的错误提示不会更正,必须要重新修改下min的值错误提示才会消失,请问要怎么做才能修正这个bug。

  • 回答于 2015-09-22 10:02 举报

    这不算是bug, 不过挺有意思的.

    两个处理建议 :
    1, 看样子你的表单中, minmax前面, 那么你可以把验证规则再加上一条

    `[['max'], 'compare', 'operator'=>'>=', 'compareAttribute'=>'min']`;
    

    这样子 就会在输入max后再检测一次了.

    不过 这样有点重复. 你也可以折中一点,只留 max, 因为大部分情况下 用户是先输min 后输max;

    2, 自己再写一小段js, 填写完max 手动调用yii.validate中的相应验证方法.

    2 条回复
    回复于 2015-09-22 15:48 回复

    第一种方法还是不行,加了max只是在输入max之后验证了max字段,不会去连带验证min。
    第二种方法具体怎么写呢

    回复于 2015-09-22 17:43 回复

    额, 对哦 抱歉 第一种方式确实不太行, 不过只保留max的验证应该可以.,

    你自己写一段js的话 你可以在max 失去焦点之后. 手动调用 $('选中form表单').yiiActiveForm('validateAttribute','需要验证的字段id'); 验证一次 ;

您需要登录后才可以回答。登录 | 立即注册
addchild
见习主管

addchild

注册时间:2014-10-14
最后登录:2016-07-27
在线时长:9小时35分
  • 粉丝4
  • 金钱85
  • 威望20
  • 积分375

热门问题