使用bassistance.de的jQuery验证插件,验证并不总是有效,特别是当最初验证的输入的值被删除时。
表单将通过缺少输入的验证测试,并且在JS控制台中也会出现以下错误。
错误
jQuery lib
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/additional-methods.js"></script>
表格
<form id="payment-form" class="payment-form" method="POST" action="/checkout-process">
<fieldset>
<legend>Customer Info</legend>
<label>Full Name</label>
<input type="text" name="first_name" placeholder="First Name">
<input type="text" name="last_name" placeholder="Last Name">
<label>Email</label>
<input type="text" name="email" placeholder="me@email.com">
<label>Phone</label>
<input type="text" name="phone" placeholder="Phone">
</fieldset>
</form>
JS
$(function($) {
// Validation
$('#payment-form').validate({
rules: {
first_name: "required",
last_name: "required",
email: {
required: true,
email: true
},
phone: {
required: true,
phone: true
}
},
errorClass: 'alert alert-error'
});
});
答案 0 :(得分:2)
问题出在规则phone
上,没有名为phone
的验证方法。
如果您加入additional-methods.js,则可以使用phoneUS
,phoneUK
,mobileUK
,phoneNL
等电话验证规则
例如:
$(function($) {
// Validation
$('#payment-form').validate({
rules: {
first_name: "required",
last_name: "required",
email: {
required: true,
email: true
},
phone: {
required: true,
phoneUS: true
}
},
errorClass: 'alert alert-error'
});
});
如果这些都不符合您的要求,那么您可能必须编写自定义规则
答案 1 :(得分:0)
请检查链接并确保其解析确切的网址。