2013-01-08 27 views
0

我注意到,在登錄視圖中,當用戶輸入他們的電子郵件地址並快速標籤到密碼字段時,MVC3需要屬性驗證激發。我擁有的代碼非常大,但我可以通過非常簡單的頁面進行重現。它類似於以下內容:在MVC3必填字段中輸入非字符鍵會觸發驗證?

我有一個非常基本的視圖,附帶一個模型。該模型有兩個屬性,它們都具有[必需的]屬性。如果你關注一個,並且擊中任何不輸入任何字符的鍵(例如Shift,Esc等),那麼所需的驗證會觸發,並且我會收到錯誤消息,說明該字段是必需的,即使我沒有輸入什麼都沒有。

有誰知道如何防止這種早期驗證從解僱?

+2

呃...它不是MVC,它是jQuery驗證插件。 – gdoron

+0

是的,我完全是這個意思,不知道爲什麼我說MVC驗證。 – Keerigan

回答

0

與gdordon一致 - 禁用/修復任何jQuery驗證。此外,您可以通過禁用Unobtrusive Validation(在web.config中)來禁用此行爲 - 通常會啓用此功能並使用jquery進行客戶端驗證。

+0

我仍然希望客戶端驗證,它只是早期驗證,並且我需要在驗證時碰到隨機字符 – Keerigan

0

所以我所做的就是我禁用了這些輸入字段keyup事件中,使用下面的代碼:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("input[data-val-required]").keyup(function() { 
      return false; 
     }); 
    }); 
</script> 

這允許客戶端驗證,當用戶點擊提交按鈕

只熄滅