1

我想进行验证,这取决于相同形式的其他输入值。

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

我正在阅读所有文档:jqueryvalidation.org,但我找不到任何关于使用表单中的其他值来验证其他#id 的最大值的信息。

提前感谢您的帮助。

- - 编辑 - -

JS Fiddle,我想验证重量将取决于 maxweight。稍后我想使用 if 函数进行验证:

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

- - 解决方案 - -

谢谢大家的帮助:)我是这样做的:JS Fiddle

4

2 回答 2

2

这是一个例子:

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

对于您想要的,这里是一个链接,解释了您的问题jQuery 验证 - 在运行时更改 max 的值

这是解决方案: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。)

于 2013-10-19T21:58:24.400 回答
2

尝试这个。这将根据 maxweight 验证您的体重。

$("#step1").validate({
        rules: {
            weight: {
                required: true,
                min: 1,
                depends:function(element){
                    return  $(element).val() < $("#maxweight").val();
                }            
            }
        }
    });
于 2013-10-20T11:55:57.827 回答