2012-08-30 43 views
0

的最後,我有這樣的情況:使用jQuery驗證庫(使用所有缺省設置爲驗證)jQuery驗證 - 如何有產生錯誤的標籤出現在DIV

<div> 
    <label>Text</label> 
    <input type="text" id="email"> 
    <label>Text</label> 
    <input type="text" id="name"> 
</div> 

,電子郵件「錯誤」標籤將這樣產生:

<div> 
    <label>Text</label> 
    <input type="text" id="email"> 
    <label>ERROR:|</label> 
    <label>Text</label> 
    <input type="text" id="name"> 
</div> 

,但我的目標是讓這樣的:

<div> 
    <label>Text</label> 
    <input type="text" id="email"> 
    <label>Text</label> 
    <input type="text" id="name"> 
    <label>ERROR:|</label> 
</div> 

我該怎麼做?

jQuery validation library

編輯:我正在與簡單地從invalidHandler事件附加標籤的問題是,標籤直到invalidHandler事件之後產生。

+0

你能提供你當前的腳本嗎? – Dom

回答

1

驗證庫中有一個errorPlacement函數。

$('.inputForm').validate({ 
    ... settings .... 
    errorPlacement: function(error, element) { 
     error.appendTo(element.parent()); 
    }, 
    ... other settings ... 
}); 
0

只需將一個Id分配給您的主Div,然後將錯誤附加到該Div。 例如

$(「div#divid」)。append(「error」);

+0

我正在做這樣的事情,但我在哪裏開火?我以爲我會從invalidHandler做到這一點,但似乎沒有工作 – contactmatt

+0

@contactmatt你需要把它放到errorPlacement。檢查http://docs.jquery.com/Plugins/Validation/validate#options – user1512616

0

的jQuery插件驗證總是會在前面加上錯誤的標籤除非你添加自己的第一。所以...

<div> 
<label>Text</label> 
<input type="text" id="email"> 
<label class="error" style="display:none"></label> 

<label>Text</label> 
<input type="text" id="name"> 
<label class="error" style="display:none"></label> 
</div> 

一定要將該類設置爲與插件使用的類相同,並且默認情況下隱藏該元素。