gpt4 book ai didi

javascript - jQuery 验证添加规则

转载 作者:行者123 更新时间:2023-12-03 10:52:07 24 4
gpt4 key购买 nike

我对 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查看正则表达式是否匹配。如果不正确匹配,则应显示无效 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.');

关于javascript - jQuery 验证添加规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28394245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com