2012-04-27 103 views
22

我有一個奇怪的問題。我想在元素上觸發一個jquery-valdation errormessage,即使它是有效的。jQuery驗證觸發器錯誤信息

場景: 我有一個大表。其中一個輸入是PersonalId。輸入該PersonalId是可選的。 除了輸入我有一個正常的按鈕(不是提交按鈕)。如果你點擊(從Ajax獲取信息)並且PersonalId字段爲空,我想觸發該錯誤消息。

這可能與jQuery驗證或我需要創建我自己的功能?

+0

可能的重複[手動設置不顯眼的驗證錯誤的文本框](https://stackoverflow.com/questions/7380278/manually-set-unobtrusive-validation-error-on-a-textbox) – KyleMit 2017-11-20 23:05:45

回答

45

這是可能的與jQuery驗證或我需要創建我自己的功能?

這兩種,有點。您可以使用showErrors函數手動顯示錶單上的錯誤,但由於您不希望這是一個在您提交提交表單時啓用的規則,因此您必須自行檢查表單中的值輸入。

喜歡的東西:

var $validator = $("#myform").validate(); 
$("#checkid").click(function() { 
    var errors; 

    if (!$("#personalid").val()) { 
     /* Build up errors object, name of input and error message: */ 
     errors = { personalid: "Please enter an ID to check" }; 
     /* Show errors on the form */ 
     $validator.showErrors(errors);    
    }   
}); 

例子:http://jsfiddle.net/andrewwhitaker/XjZer/

注意,形式仍然將提交如果沒有在personalid領域。

+0

我有同樣的問題但我怎樣才能觸發多維名稱的錯誤。我解決不了這個問題。例如 'field =「email」; var element =「data [User] [」+ field +「]」; errors = {element:field_error}; $ validator.showErrors(錯誤);' – Parixit 2015-11-30 06:32:35