bassistance jQuery验证抛出错误

时间:2013-07-29 03:01:56

标签: javascript jquery validation

使用bassistance.de的jQuery验证插件,验证并不总是有效,特别是当最初验证的输入的值被删除时。

表单将通过缺少输入的验证测试,并且在JS控制台中也会出现以下错误。

错误

enter image description here

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'
    });

});

2 个答案:

答案 0 :(得分:2)

问题出在规则phone上,没有名为phone的验证方法。

如果您加入additional-methods.js,则可以使用phoneUSphoneUKmobileUKphoneNL等电话验证规则

例如:

$(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)

请检查链接并确保其解析确切的网址。