jQuery验证addMethod以检查field1< field2,不工作

时间:2014-10-03 07:49:28

标签: javascript jquery jquery-validate

我正在使用jQuery验证来验证这样的表单:

IdFrom ________ IdTo ______________

我正在执行的检查是:

IdFrom:

  • 需要成为一个数字

  • 如果输入了IdTo,则是必需的

  • 应该是<如果输入了IdTo,则输入

IdTo:

  • 需要成为一个数字

我的代码:

              jQuery.validator.addMethod("fromLessThanTo", function(value, element){
                      if(($("#IdTo").val().length <= 0))
                              return true;
                    return($("#IdTo").val() > $("#IdFrom").val());
              }, "From value cannot be greater than the To value"); 

              $("#IdFrom").rules('add', {
                    digits : true,
                    required : {                    
                            depends: function(element){
                                    return($("#IdTo").val() > 0);
                            },
                    fromLessThanTo : true 
                    },        
                    messages:         {
                            digits: "Please enter a positive number",
                            required: "Please enter the Id From" 
                    }        
              });

              $("#IdTo").rules('add', {
                    digits : true,
                    messages:         {
                            digits: "Please enter a positive number"                       
                            }   

该代码无法检查From&lt;至。真的很想知道为什么会发生这种情况。谢谢!

1 个答案:

答案 0 :(得分:1)

尝试修复所有语法错误......

$("#IdFrom").rules('add', {
    digits: true,
    required: {                    
        depends: function(element){
            return($("#IdTo").val() > 0);
        },                  // <- superfluous comma
                            // <- missing a },
    fromLessThanTo: true    // <- missing a comma
    },                      // <- remove this }, 
    messages: {
        digits: "Please enter a positive number",
        required: "Please enter the Id From"
    }        
});

$("#IdTo").rules('add', {
    digits: true,
    messages: {
        digits: "Please enter a positive number"                       
    }
                            // <- missing a });

所以最终看起来像这样......

$("#IdFrom").rules('add', {
    digits: true,
    required: {                    
        depends: function(element) {
            return($("#IdTo").val() > 0);
        }
    },
    fromLessThanTo: true,
    messages: {
        digits: "Please enter a positive number",
        required: "Please enter the Id From"
    }        
});

$("#IdTo").rules('add', {
    digits: true,
    messages: {
        digits: "Please enter a positive number"                       
    }
});