这是我的表格:
<form class= "myForm" action="someAction" method="post">
<fieldset>
<input type="hidden" name="source" value="zions_direct" />
<ul class="cf">
<li>
<label for="firstname">First Name</label>
<input type="text" name="firstName" id="firstName" placeholder="First Name" class="text" />
</li>
<li>
<label for="lastname">Last Name</label>
<input type="text" name="lastName" id="lastName" placeholder="Last Name" class="text" />
</li>
<li>
<label for="email">Email Address</label>
<input type="email" name="email" id="input-email" placeholder="Email Address" class="text" />
</li>
<li>
<input type="submit" alt="Send My Form" target="_blank" value="SUBMIT" />
</li>
</ul>
</fieldset>
</form>
我尝试创建一个jQuery-validate规则,该规则检查firstName和lastName对Regex并在不符合条件时显示消息(同时阻止表单提交)(或自定义规则返回false):< / p>
function validator() {
$.validator.addMethod('nameCheck', function(value, element) {
return /^([a-zA-Z .'-]{3,80})+$/.test(value);
}, 'Please type a valid name');
$('.myForm').validate({
rules: {
firstName: {
required: true,
name: true,
nameCheck: true
},
lastName: {
required: true,
name: true,
nameCheck: true
},
email: {
required: true,
email: true
}
}
});
我错过了什么?内置的电子邮件:true 有效,但我的自定义电子邮件不适用。感谢您的时间和帮助。
答案 0 :(得分:0)
name
方法不是此插件的一部分。我在你的OP中没有看到你使用.addMethod()
创建它的任何地方,所以这会在评估你的nameCheck
规则之前使验证停滞不前。
firstName: {
required: true,
name: true, // <- what is this?
nameCheck: true
},