在其中一个更改后再次验证字段

时间:2012-09-12 09:44:17

标签: jquery validation input

当其中一个字段发生变化时,我在重新验证字段方面遇到了一些问题。 更具体地说,假设您必须处理任意数量的字段(用户可以添加新闻或删除现有字段),其总和不能超过100。

我现在正在做的是:

//This basically works on change of the input
$.validator.addMethod('inputBox', checkAmount, 'Value exceeds maximum quantity');

function checkAmount(value, element) {

    if (sumAmounts() <= 100) {
        return true;
    }
    return false;
}

以下是它的工作原理,我们假设我们有2个输入框:   - 我把80分放在第一个   - 我把30分放在第二个   - 第二个变为红色并显示错误“超过最大数量的数量”&lt; - 对我来说很好!   - 我按提交:两者都变成红色并显示错误&lt; - 对我来说很好!   - 我编辑两个中的一个(它没有区别哪一个)来适应验证规则   - 编辑的一个变为有效,但另一个仍然显示错误(但我可以提交)&lt; - 这是问题所在!

当我更改其中一个并且它们的值的总和小于100时,我希望所有的框变为“有效”。

我尝试在checkAmount()函数中插入以下方法,然后返回true或false:$('inputBox')。validate()/。invalid(); / .change(); / $('form')。validate(); /甚至是$('inputBox')。focus();哪个有效,但经历了无限循环xD

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

它不起作用,因为它不是显示问题的当前框,而是具有相同验证规则的其他框

答案 1 :(得分:0)

您可以在每个输入框元素上添加css类,例如“inputclass”,并应用以下jQuery脚本。可能是它的工作..

$(function(){
    $(".inputclass").change(function(){
          $(this).validate();
     });
});