2015-06-17 127 views
-2

如何根據在字段中輸入的詳細信息更改錯誤位置。即如果字段爲空,則在提交按鈕後顯示錯誤,否則如果該字段不爲空,但最小長度或最大長度與元素之後的顯示錯誤不匹配。錯誤位置 - jquery驗證

我試過這個,但它不工作。

errorPlacement: function(error, element) { 
if(error.text() === "Please fill the field.") 
{ 
    if(element.val() === ""){ 
    $(".login-empty-error").html(error); 
    } else { 
    error.insertAfter(element); 
    } 
} else { 
    error.insertAfter(element); 
} 
} 

如何查找是否需要該類型?

+0

這是哪裏的HTML標記? 「.validate()'方法的其餘部分在哪裏? – Sparky

回答

0

如何根據字段中輸入的詳細信息更改錯誤位置。

errorPlacement選項不能做這樣的事情。一旦錯誤元素容器被放置在使用errorPlacement的佈局中,插件就會根據需要簡單地切換此元素。它的位置沒有改變,因爲元素已經在那裏但是隱藏了。

換句話說,您無法使用任何提供的選項或方法動態地移動表單中的錯誤元素。

但是,如果您希望在窗體內出現錯誤時在按鈕附近出現消息,請查看the showErrors option

showErrors: function (errorMap, errorList) { 
    if (this.numberOfInvalids() > 0) { 
     $("#summary").html("Your form contains " + this.numberOfInvalids() + " errors, see details above."); 
    } else { 
     $("#summary").empty(); 
    } 
    this.defaultShowErrors(); // <- default messages that appear within form 
} 

基本用法演示:http://jsfiddle.net/v2h2a2mb/

,這樣的消息只能在一定條件下會出現你可以調整這個功能。內置的參數如下所述...

errorMap, 類型:Object, 鍵/值對,其中所述鍵是指輸入字段的名稱,值要顯示該消息輸入。

errorList, 類型:Array, 所有當前驗證元素的數組。要顯示的輸入字符串, 消息:包含具有以下兩個屬性的對象:

  • 消息, 類型。

  • 元素, 類型:元素, 的一個DOMElement此條。