我正在使用jquery
表单验证插件来验证我的表单,在所有验证成功之后,然后调用Submit函数。但是在将正则表达式应用于字段时,使用jquery
表单验证插件发生了错误“无法读取未定义的属性'调用'” ,上面的字段为prefilled
,所以我认为正因为如此。以下是错误图片。
下面是我的代码:-
<form id="email-form">
<input type="text" class="text-field-3 w-input" maxlength="256" autofocus="true" name="first-name" data-name="first-name"
placeholder="First Name" id="first-name-2">
</form>
<script>
$(document).ready(function () {
$('#email-form').submit(function (e) {
e.preventDefault();
}).validate({ // initialize the plugin
rules: {
"first-name": {
required: true,
regex: /^[a-zA-Z]+$/i
}
}
})
</script>
请帮助我解决此问题。谢谢!
答案 0 :(得分:0)
您没有包含正则表达式功能,只需执行以下操作即可:
<script>
$(document).ready(function () {
(function($,W,D){
var JQUERY4U = {};
JQUERY4U.UTIL = {
setupFormValidation: function(){
$.validator.addMethod("regex", function(value, element, regexpr) {
return regexpr.test(value);
});
$('#email-form').submit(function (e) {
e.preventDefault();
}).validate({ // initialize the plugin
rules: {
"first-name": {
required: true,
regex: /^[a-zA-Z]+$/i
}
}
})
}
}
$(D).ready(function($) {
JQUERY4U.UTIL.setupFormValidation();
});
})(jQuery, window, document);
请忽略代码的缩进。
答案 1 :(得分:0)
添加如下功能以支持正则表达式:'expression':
$.validator.addMethod(
"regex",
function (value, element, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"Please check your input."
);