JQuery 验证器未验证表单
JQuery validator not validating form
注意:regex
的东西是实验性的,我已经尝试过但仍然不起作用,如果可能的话有人可以告诉我是否有任何问题有吗?
我看不出我做错了什么。在 document.ready
中还有其他功能可以正确执行,所以我认为也不是。
我的代码:
function checkForm() {
$.validator.addMethod("regex", function(value, element, regexpr) {
return regexpr.test(value);
} );
$('#contactform').validate( {
rules: {
first: {
required: true,
minLength: true,
regex: /^[A-z]{2,}$/
},
last: {
required: true,
minLength: true,
regex: /^[A-z]{2,}(-[A-z]{2,})?$/
},
titledd: 'required',
zhanum: {
required: true,
regex: /^(ZHA|zha)([0-9]{6})$/
},
emailadd: {
required: true,
email: true
},
telephone: {
regex: /^[0-9]{5,16}$/
}
},
messages: {
first: {
required: "You must enter a first name",
minLength: "Your first name must have more than 2 characters",
regex: "Please enter a first name with more than two characters, where only letters are allowed"
},
last: {
required: "You must enter a last name",
minLength: "Your last name must have more than 2 characters",
regex: "Please enter a last name with more than two characters, where only letters and optionally one hyphen are allowed"
},
titledd: {
required: "Please select your title"
},
zhanum: {
required: "You must enter your ZHA number",
regex: "Your ZHA number should be ZHA followed by six numbers only"
},
emailadd: {
required: "You must enter an email address",
email: "Please enter a valid email address"
},
telephone: {
regex: "Please enter a telephone number with more than five characters and less than 16 characters, where only numbers are allowed"
}
}
} );
}
$(document).ready(function() {
checkForm();
} );
试试这个:
$.validator.addMethod("regex", function(value, element, regexpr) {
return regexpr.test(value);
} );
$('#contactform').validate( {
rules: {
first: {
required: true,
minLength: true,
regex: /^[A-z]{2,}$/
},
last: {
required: true,
minLength: true,
regex: /^[A-z]{2,}(-[A-z]{2,})?$/
},
titledd: 'required',
zhanum: {
required: true,
regex: /^(ZHA|zha)([0-9]{6})$/
},
emailadd: {
required: true,
email: true
},
telephone: {
regex: /^[0-9]{5,16}$/
}
},
messages: {
first: {
required: "You must enter a first name",
minLength: "Your first name must have more than 2 characters",
regex: "Please enter a first name with more than two characters, where only letters are allowed"
},
last: {
required: "You must enter a last name",
minLength: "Your last name must have more than 2 characters",
regex: "Please enter a last name with more than two characters, where only letters and optionally one hyphen are allowed"
},
titledd: {
required: "Please select your title"
},
zhanum: {
required: "You must enter your ZHA number",
regex: "Your ZHA number should be ZHA followed by six numbers only"
},
emailadd: {
required: "You must enter an email address",
email: "Please enter a valid email address"
},
telephone: {
regex: "Please enter a telephone number with more than five characters and less than 16 characters, where only numbers are allowed"
}
}
} );
并确保将其保留在 <form>
标签
之后
我发现了问题,问题出在我的 HTML 我有 id
属性而不是 name
属性,我没有意识到这是一个问题。
注意:regex
的东西是实验性的,我已经尝试过但仍然不起作用,如果可能的话有人可以告诉我是否有任何问题有吗?
我看不出我做错了什么。在 document.ready
中还有其他功能可以正确执行,所以我认为也不是。
我的代码:
function checkForm() {
$.validator.addMethod("regex", function(value, element, regexpr) {
return regexpr.test(value);
} );
$('#contactform').validate( {
rules: {
first: {
required: true,
minLength: true,
regex: /^[A-z]{2,}$/
},
last: {
required: true,
minLength: true,
regex: /^[A-z]{2,}(-[A-z]{2,})?$/
},
titledd: 'required',
zhanum: {
required: true,
regex: /^(ZHA|zha)([0-9]{6})$/
},
emailadd: {
required: true,
email: true
},
telephone: {
regex: /^[0-9]{5,16}$/
}
},
messages: {
first: {
required: "You must enter a first name",
minLength: "Your first name must have more than 2 characters",
regex: "Please enter a first name with more than two characters, where only letters are allowed"
},
last: {
required: "You must enter a last name",
minLength: "Your last name must have more than 2 characters",
regex: "Please enter a last name with more than two characters, where only letters and optionally one hyphen are allowed"
},
titledd: {
required: "Please select your title"
},
zhanum: {
required: "You must enter your ZHA number",
regex: "Your ZHA number should be ZHA followed by six numbers only"
},
emailadd: {
required: "You must enter an email address",
email: "Please enter a valid email address"
},
telephone: {
regex: "Please enter a telephone number with more than five characters and less than 16 characters, where only numbers are allowed"
}
}
} );
}
$(document).ready(function() {
checkForm();
} );
试试这个:
$.validator.addMethod("regex", function(value, element, regexpr) {
return regexpr.test(value);
} );
$('#contactform').validate( {
rules: {
first: {
required: true,
minLength: true,
regex: /^[A-z]{2,}$/
},
last: {
required: true,
minLength: true,
regex: /^[A-z]{2,}(-[A-z]{2,})?$/
},
titledd: 'required',
zhanum: {
required: true,
regex: /^(ZHA|zha)([0-9]{6})$/
},
emailadd: {
required: true,
email: true
},
telephone: {
regex: /^[0-9]{5,16}$/
}
},
messages: {
first: {
required: "You must enter a first name",
minLength: "Your first name must have more than 2 characters",
regex: "Please enter a first name with more than two characters, where only letters are allowed"
},
last: {
required: "You must enter a last name",
minLength: "Your last name must have more than 2 characters",
regex: "Please enter a last name with more than two characters, where only letters and optionally one hyphen are allowed"
},
titledd: {
required: "Please select your title"
},
zhanum: {
required: "You must enter your ZHA number",
regex: "Your ZHA number should be ZHA followed by six numbers only"
},
emailadd: {
required: "You must enter an email address",
email: "Please enter a valid email address"
},
telephone: {
regex: "Please enter a telephone number with more than five characters and less than 16 characters, where only numbers are allowed"
}
}
} );
并确保将其保留在 <form>
标签
我发现了问题,问题出在我的 HTML 我有 id
属性而不是 name
属性,我没有意识到这是一个问题。