2014-02-08 76 views
0

我在验证插件识别出需要我所有的输入标签和文本区域时遇到问题。它正在验证电子邮件字段,但没有其他人。jQuery验证插件适用于某些规则,但忽略其他规则

$(document).ready(function() { 

$('#contactForm').validate({ 
    rules: { 
     name: { 
      required: true, 
      minlength: 1 
     }, 
     email: { 
      required: true, 
      email: true 
     }, 
     subject: { 
      required: true, 
      minlength: 1 
     }, 
     message: { 
      required: true, 
      minlength: 1 
     } 
    } 
}); 
}); 

这里是页的我试图验证

<form id="contactForm" action="./gdform.php" method="post"> 

     <div id="formSection"> 
      <input type="hidden" name="redirect" value="./thankyou.html" /> 
      <div id="topSection"> 
       <label><input type="text" id="Name" name="name" value="Name" required /></label> 
       <label><input type="text" id="Email" name="email" value="Email" required /></label> 
      </div> 
      <div id="messageSection"> 
       <label><input id="Subject" type="text" name="subject" value="Subject" /></label> 
       <label><textarea name="message" rows="6" required>Message</textarea></label> 

       <button type="submit">Send</button> 
      </div> 
     </div> 

    </form> 

的HTML这里是一个小提琴,所以你可以看到我的问题http://jsfiddle.net/mM62X/。 任何有关这个问题的帮助将不胜感激!

回答

0

问题是,您正在添加默认值的所有输入元素,而不是使用占位符。由于您在输入元素中有值,因此所需的验证将通过,因此不存在验证错误。

<form id="contactForm" action="./gdform.php" method="post"> 
    <div id="formSection"> 
     <input type="hidden" name="redirect" value="./thankyou.html" /> 
     <div id="topSection"> 
      <label> 
       <input type="text" id="Name" name="name" placeholder="Name" required /> 
      </label> 
      <label> 
       <input type="text" id="Email" name="email" placeholder="Email" required /> 
      </label> 
     </div> 
     <div id="messageSection"> 
      <label> 
       <input id="Subject" type="text" name="subject" placeholder="Subject" /> 
      </label> 
      <label> 
       <textarea name="message" rows="6" required placeholder="Message"></textarea> 
      </label> 
      <button type="submit">Send</button> 
     </div> 
    </div> 
</form> 

演示:Fiddle

注:不支持< IE 10

+0

哇,我简直不敢相信我没有意识到,哈哈。难怪这个插件在我没有在我的输入标签中输入默认值的其他项目上为我工作! – ddelnano