我在jsp中有一个div如下:
<input type="text" id="year" placeholder=" Year" class="year" name= "year" value=""/>
我想计算当前年份和输入年份之间的差异。如果值不在某个范围内,我必须显示错误。这是我的客户jquery验证器功能。
jQuery.validator.addMethod('validAge', function (value, element, params) {
alert("inside add method");
var currentYear = (new Date).getFullYear();
var range = currentYear - $element.val();;
if(range >10 && range< 70)
{
return true;
}
return false;
}),
但是它在element.val上显示错误 我已将规则定义为
$('#signup_form').validate({ // initialize the plugin
rules: {
year: {
validage: true,
},
},
messages: {
year: "Invalid year",
},
},
});
答案 0 :(得分:6)
在jquery中,addMethod元素(要验证的元素)和值(验证元素的当前值)
jQuery.validator.addMethod("validAge", function (value, element, params) {
alert("inside add method");
var currentYear = (new Date).getFullYear();
var range = currentYear - value;
return this.optional(element) || (range >10 && range< 70)
},'Enter range in between 10 to 70');
删除不需要的逗号,并查看区分大小写。
var validator = $('#form').validate({
rules: {
year: {
validAge: true
}
},
messages: {
year: "Invalid year"
}
});
答案 1 :(得分:2)
方法名称拼写不正确,请检查&#39;验证&#39;而不是&#39; validAge&#39;