2012-12-11 24 views
0

我不做某事像一個項目中的$(某事)validate {},它是像我期望的工作,但在另一個項目中,我只能看到一個驗證錯誤消息,然後我填寫它,然後點擊提交按鈕,它不檢查其他輸入:意外jQuery的驗證只顯示第一個必需的消息

我自己的功能是在下面,我可以看到「這裏」後,我輸入「名字」的值,但我需要錯誤消息if我也不輸入中間名和姓。

function assembleAndSaveContact(){ 

if($("form#form_validation_reg_generate_contact").valid()){ 
console.log('here'); 
} 
} 

XHTML代碼:

<!-- validation --> 
<script src='#{applicationBean.resourcePath}/admin/lib/validation/jquery.validate.min.js'></script> 
<!-- sticky messages --> 
<script src='#{applicationBean.resourcePath}/admin/lib/sticky/sticky.min.js'></script> 
<script src="#{applicationBean.resourcePath}/admin/bootstrap/js/bootstrap.min.js"></script> 
<li><a onclick="assembleAndSaveContact();" class="btn-mini" href="#" style="float: left;"><i class="splashy-mail_light_new_2"></i>Save and Close </a></li> 
<fieldset> 
    <form id="form_validation_reg_generate_contact"> 
     Profile 
     <div style="clear: both; height: 1px; background: #CCCCCC;margin-bottom: 6px; margin-top: 6px"> 
     </div> 
     <div class="control-group" style="margin-bottom: 6px"> 
      <div class="span4" style="margin: 0px"> 
       <label class="control_label_compose"><a data-toggle="modal" href="#adrBook">First Name</a></label> 
      </div> 
      <div class="span8" style="margin: 0px"> 
       <input class="span12 required" type="text" id="firstName"/> 
      </div> 
     </div> 
     <div class="control-group" style="margin-bottom: 6px"> 
      <div class="span4" style="margin: 0px"> 
       <label class="control_label_compose"><a data-toggle="modal" href="#adrBook">Middle Name</a></label> 
      </div> 
      <div class="span8" style="margin: 0px"> 
       <input class="required span12" type="text" id="middleName"/> 
      </div> 
     </div> 
     <div class="control-group" style="margin-bottom: 6px"> 
      <div class="span4" style="margin: 0px"> 
       <label class="control_label_compose"><a data-toggle="modal" href="#adrBook">Last Name</a></label> 
      </div> 
      <div class="span8" style="margin: 0px"> 
       <input class="span12 required" type="text" id="lastName"/> 
      </div> 
     </div> 
    </form> 
</fieldset> 
+0

除非你已經錯過了一些東西,當複製/粘貼,你的HTML是無效的:一個' li'元素是* any * element *的一個無效子元素,除了'ul'或'ol'外。並且沒有其他*元素是'ul'或'ol'的有效子元素。 (這不太可能成爲問題的根源,但將JavaScript可靠地連接到有效的HTML要比破解和不可預知的瀏覽器更正或HTML封裝要容易得多。) –

回答

0

爲了使驗證插件工作,每個輸入必須有一個name屬性。如果您爲每個表單元素添加一個唯一的name屬性,則所有內容都將開始工作。

即改變你的表單元素,看起來像這樣:

<input class="span12 required" type="text" name="firstName" id="firstName"/> 
<input class="required span12" type="text" name="middleName" id="middleName"/> 
<input class="span12 required" type="text" name="lastName" id="lastName"/> 

看到它在這裏工作:http://jsfiddle.net/ryleyb/B78Wt/

相關問題