jquery验证器 - 即使在无效时仍然提交表单

时间:2013-09-21 15:42:23

标签: jquery jquery-validate

我在具有基本规则的表单上有一些字段,并且在填写表单本身时验证器插件表现良好。但是,提交它时会出现问题,因为即使在未在其他文本框中输入任何内容的情况下放入有效的电子邮件地址,它仍然会提交。

这是我的测试功能:

$(function() {

    $("#submit_form_contact").validate({
        errorLabelContainer: '#errors'
    });

    $('#contact_submit').click(function(e){

        if ($("#submit_form_contact").valid()) {
            alert ('valid!');
        } else {
            alert ('invalid!');
        }
    });
});

HTML:

<form class="pure-form pure-form-aligned" id="submit_form_contact" novalidate>
  <fieldset>
    <div class="pure-control-group">
      <label for="name">Your Name:</label>
      <input id="name" type="text" placeholder="Name" required>
    </div>

    <div class="pure-control-group">
      <label for="email">Your Email:</label>
      <input id="email" type="email" placeholder="Email Address" required>
    </div>

    <div class="pure-control-group">
      <label for="email_text">Inquiry Type: </label>
      <select id="inquiry_dropdown" class="pure-input-1-2">
        <option>General</option>
        <option>Sales & Marketing</option>
        <option>Press & Editorial</option>
      </select>
    </div>

    <div class="pure-control-group">
      <label for="message" style="vertical-align: top;">Message:</label>
      <textarea id="message" type="text" placeholder="Enter message here..." required></textarea>
    </div>                      

    <div id="errors" style="text-align: center; color: red;"></div>

    <button id="contact_submit" class="pure-button pure-button-primary" style="background-color: #003A70; float:right; margin-right: 35px;margin-top:15px;">Submit</button>
</div>
</fieldset>
</form>

...每次都会发出有效警报。表单中的所有字段都标记为“必填”。任何帮助将非常感激。 JSFiddle:http://jsfiddle.net/RcNTj/

1 个答案:

答案 0 :(得分:4)

id属性更改为name并尝试

<input name="name" type="text" placeholder="Name" required>

演示:Fiddle