Jquery验证器动态参数

前端之家收集整理的这篇文章主要介绍了Jquery验证器动态参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法将动态参数传递到自定义 jquery验证方法中?具体来说,我正在寻找一种方法来比较2个控件,并希望通过一个对方的验证方法进行比较.

这是我目前拥有的

//Add method
 $.validator.addMethod("lowerInt",function(value,element,params) {
            alert('inside method');
            if (isNaN(parseInt(params)))
                return true;
            else
                return parseInt(value) < parseInt(params);
        },$.validator.format("Please enter a number smaller than {0}")); 

 //Set validation
 $("#form1").validate({
     rules: {
        lowInt: {
            required: true,integer: true,lowerInt: 8 //I would like to pass a dynamic value here
        }
     }
 });

如果我按照上面的方式运行它,它应该是正常的.如果我将8个传递给lowerInt更改为$(‘#highInt’).val(),似乎将lowerInt函数的值设置为一次,并且不会更新它.我知道我可以通过调用$(‘#highInt’)val()来获取方法中的值,但是如果可能的话我想传递该值.

解决方法

我会通过一个选择器,像这样:
//Add method
$.validator.addMethod("lowerInt",params) {
  var hi = typeof params[0] == "string" ? 
           parseInt($(params[0]).val(),10) :
           params[0];
  if (isNaN(hi))
    return true;
  else
    return parseInt(value) < hi;
},$.validator.format("Please enter a number smaller than {0}")); 

//Set validation
$("#form1").validate({
  rules: {
    lowInt: {
        required: true,lowerInt: '#highInt'
    }
  }
});

该版本将采用数字或选择器,使其尽可能灵活.

猜你在找的jQuery相关文章