jQuery 验证添加规则
jQuery Validation Adding A Rule
我是 jQuery 验证的新手,请有人纠正我尝试添加的规则出错的地方。
<script>
$("#form").validate({
focusInvalid: false,
rules: {
ownership: {
required: true
},
vin: {
required: true,
validateVin: true
},
// Same for other fields
},
messages: {
ownership: "This field is required.",
vin: "Invalid VIN",
// Repeat for other fields
}
});
// create your custom rule
jQuery.validator.addMethod(validateVin(this.value, Number($("#vehicleyear").val()))) {
function validateVin(vin, date) {
var re;
if (date >= 1981) {
re = new RegExp("^[A-HJ-NPR-Z\d]{8}[\dX][A-HJ-NPR-Z\d]{2}\d{6}$");
} else if (date < 1981) {
re = new RegExp("^[A-Z\d]{2,17}$");
} else {
}
return vin.match(re);
}, 'Please enter valid VIN.'});
</script>
这应该检查两个字段,首先检查选择的年份 vehicleyear
然后根据年份检查输入 vin
以查看正则表达式是否匹配。如果它没有正确匹配,那么它应该说 invalid vin。
当我 运行 挖矿时,它甚至不使用正则表达式,但我不明白为什么。对此的任何帮助将不胜感激!
addMethod 函数接受两个输入,第一个是您要添加的规则的名称。第二个是不需要命名的函数本身。
下面的代码应该做你所希望的。
唯一要注意的是日期变量的设置方式。
有关更多示例,请参阅此页面。 jQuery Validator addMethod()
jQuery.validator.addMethod("validateVin", function(vin) {
var date = Number($("#vehicleyear").val());
var re;
if (date >= 1981) {
re = new RegExp("^[A-HJ-NPR-Z\d]{8}[\dX][A-HJ-NPR-Z\d]{2}\d{6}$");
} else if (date < 1981) {
re = new RegExp("^[A-Z\d]{2,17}$");
} else {}
return vin.match(re);
}, 'Please enter valid VIN.');
我是 jQuery 验证的新手,请有人纠正我尝试添加的规则出错的地方。
<script>
$("#form").validate({
focusInvalid: false,
rules: {
ownership: {
required: true
},
vin: {
required: true,
validateVin: true
},
// Same for other fields
},
messages: {
ownership: "This field is required.",
vin: "Invalid VIN",
// Repeat for other fields
}
});
// create your custom rule
jQuery.validator.addMethod(validateVin(this.value, Number($("#vehicleyear").val()))) {
function validateVin(vin, date) {
var re;
if (date >= 1981) {
re = new RegExp("^[A-HJ-NPR-Z\d]{8}[\dX][A-HJ-NPR-Z\d]{2}\d{6}$");
} else if (date < 1981) {
re = new RegExp("^[A-Z\d]{2,17}$");
} else {
}
return vin.match(re);
}, 'Please enter valid VIN.'});
</script>
这应该检查两个字段,首先检查选择的年份 vehicleyear
然后根据年份检查输入 vin
以查看正则表达式是否匹配。如果它没有正确匹配,那么它应该说 invalid vin。
当我 运行 挖矿时,它甚至不使用正则表达式,但我不明白为什么。对此的任何帮助将不胜感激!
addMethod 函数接受两个输入,第一个是您要添加的规则的名称。第二个是不需要命名的函数本身。 下面的代码应该做你所希望的。 唯一要注意的是日期变量的设置方式。 有关更多示例,请参阅此页面。 jQuery Validator addMethod()
jQuery.validator.addMethod("validateVin", function(vin) {
var date = Number($("#vehicleyear").val());
var re;
if (date >= 1981) {
re = new RegExp("^[A-HJ-NPR-Z\d]{8}[\dX][A-HJ-NPR-Z\d]{2}\d{6}$");
} else if (date < 1981) {
re = new RegExp("^[A-Z\d]{2,17}$");
} else {}
return vin.match(re);
}, 'Please enter valid VIN.');