2013-10-19 67 views
1

我想做验证,这取决于其他输入值以相同的形式。jQuery验证与取决于

$("#step1").validate({ 
    rules: { 
    weight: { 
     required: true, 
     max: $('#maxweight'), 
     min: 1 
    }, 
... 

我正在阅读所有文档:jqueryvalidation.org,但我无法找到任何有关从表单使用其他值来验证其他#id的最大值的任何内容。

非常感谢您的帮助。

---编辑---

JS Fiddle,我想验证权重将取决于maxweight。 后来我想这样做,如果与功能验证:

if(maxweight == 10) { 
    max: 10 
} 
else if(maxweight == 20) { 
    max: 20 
} 

--- SOLUTION ---

感谢所有帮助:)我这样做的:JS Fiddle

回答

1

这里是一个例如:

$(".selector").validate({ 
    rules: { 
    email: { 
     depends: function(element) { 
     // Do what you want to test 
     return $("#contactform_email:checked"); 
     } 
    } 
    } 
}); 

你想要的东西,这里是解释您的问题的链接jQuery validation - changing value of max at runtime

这里是解决方案:http://jsfiddle.net/rUyAx/2/

$(document).ready(function() { 
$("#step1").validate({ 
    rules: { 
     weight: { 
      required: true, 
      //max: $("#maxweight").val(), 
      min: 1 
     } 
    } 
}); 

$("#submit").click(function(){ 
    $('#weight').rules("remove", "max"); 
    $('#weight').rules("add", { 
    max: $('#maxweight').val() 
    }); 
    $("#step1").submit(); 
}); 

}); 

(我已经添加了一个ID,你的提交按钮。)

+0

感谢您的回复,但我仍然不知道它在我的例子中如何使用。 – Daniel

+0

好:)所以这是链接到我的代码:[链接](http://jsfiddle.net/AT7V3/),我想验证体重将取决于最大重量。我在上面的问题中编辑过。 – Daniel

+0

嗯....这是第一次使用,例如:最大重量:5,你的体重:6 - 这是错误,所以我们改变最大重量为10,仍然是同样的错误。 – Daniel

2

尝试。这将根据最大重量验证您的体重。

$("#step1").validate({ 
     rules: { 
      weight: { 
       required: true, 
       min: 1, 
       depends:function(element){ 
        return $(element).val() < $("#maxweight").val(); 
       }    
      } 
     } 
    }); 
+0

有了这个解决方案,你不使用“最大”的错误信息。但是你的解决方案也适用。 – kmas

+0

感谢您的帮助:)这是非常有用的:) – Daniel

+0

你总是可以像'max'那样为'depend'放置一个错误信息。 –