2011-12-01 112 views
1

我在我的MVC 3項目中使用jQuery和不顯眼的JavaScript進行遠程驗證。現在,當遠程驗證失敗時,我想對頁面進行更多修改,然後只顯示錯誤消息。我怎樣才能鉤從JavaScript的遠程驗證失敗?遠程驗證客戶端鉤子

回答

3

MVC驗證將輸入驗證錯誤類添加到驗證失敗的元素。所以我會綁定到input元素的onChange事件,我會檢查它是否正確或失敗。下面的代碼應該做的竅門

$('#yourInputId').change(function(){ 
    if($(this).hasClass('input-validation-error')){ 
    // do your thing here 
    } 
}); 

如果你需要檢查一個特定的驗證錯誤,你可以走得更遠。這是,如果我的刪除驗證失敗什麼得到補充說:

<span class="field-validation-error" data-valmsg-for="Account.Login" data-valmsg-replace="true"> 
    <span for="Account_Login" generated="true" class="">Login is taken. Maybe Login1 will work for you? </span> 
</span> 

所以,你可以檢查特定的字符串被添加到DOM。

+0

我很喜歡這個想法,不幸的是該領域無法驗證的原因有兩個。 a)電子郵件地址不是有效的格式。 b)它已經註冊。在這種情況下,我只想勾選第二個顯示忘記密碼的鏈接。 – olle

+0

找到我更新的回覆:) – torm