bpr*_*ard 11 jquery jquery-validate
有没有办法将动态参数传递给自定义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
}
}
});
Run Code Online (Sandbox Code Playgroud)
如果我按上述方式运行它,它可以正常工作.如果我将传入lowerInt的8更改为$('#highInt').val(),它似乎只设置了一次lowerInt函数的值,并且从不更新它.我意识到我可以通过调用$('#highInt').val()来获取方法中的值,但是如果可能的话我想传递该值.
Nic*_*ver 16
我会传入一个选择器,像这样:
//Add method
$.validator.addMethod("lowerInt", function(value, element, 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,
integer: true,
lowerInt: '#highInt'
}
}
});
Run Code Online (Sandbox Code Playgroud)
此版本将采用数字或选择器,使其尽可能灵活.
| 归档时间: |
|
| 查看次数: |
14714 次 |
| 最近记录: |