设置规则在jQuery Validate插件中不起作用

时间:2014-07-08 15:43:35

标签: javascript jquery jquery-validate

我试图使用jQuery Validation Plugin(jqueryvalidation.org),但它不起作用。 http://jsfiddle.net/k8GnD/1/ 我想在外部脚本中设置输入规则而不是内联,如文档所示。 您应该只能在" name"," email"和"文字"不是空的"网站"不包含其他内容,然后是网址。

$(function() {
    $("#gb_form").validate({
        rules: {
            name: 'required',
            'email': {
                required: true,
                email: true
            },
            '#website': {
                url: true
            },
            text: {
                required: true
            }
        },
        submitHandler: function() {
            console.log('Clicked');
            alert('Clicked');
//            ...
        }
    });
});

正如你所看到的,我尝试了一些不同的东西,但唯一经过验证的东西是网站和电子邮件,它们可以合适,因为我使用了type =" ..."那里。 :(

2 个答案:

答案 0 :(得分:1)

validate()绑定到该字段的name

<input name="name" type="text" />

http://jsfiddle.net/k8GnD/2/

答案 1 :(得分:1)

您的HTML现在需要设置字段的名称,而不仅仅是id。

<form id="gb_form" action="/" method="post">
    <div class="gb_input_box">
        <label for="name">Name *</label> 
        <input name="name" id="name" type="text" />
    </div>
    <div class="gb_input_box">
        <label for="email">E-Mail *<br /></label>
        <input name="email" id="email" type="email" /></div>
    <div class="gb_input_box">
        <label for="website">Website</label> 
        <input name="website" id="website" type="url" />
    </div>
    <div class="gb_input_box">
        <label for="text">Text</label>
        <textarea name="text" id="text"></textarea>
    </div>
    <button>Send</button>
</form>