2012-08-10 19 views
0

我使用jquery驗證的問題是它不喜歡名稱中的點符號。我正在使用Microsoft HTML幫助程序,它會根據視圖模型和字段名稱自動創建一個名稱。因此,例如,MS Html處理程序將從「AuditDoc」視圖模型中帶有變量「Title」的html文本框生成「AuditDoc.Title」。我的兩難境地是JQuery驗證不喜歡名字中間的那個DOT。所以當我把「AuditDoc.Title」作爲驗證的名字時,它給了我一個javascript錯誤。任何方式在這個?我會很感激幫助!JQuery驗證無法正確使用MVC 3

 $("#SaveCreateInProgress").click(function() { 
     $("#AdvanceDirection").val("SAVE"); 
     $("#CreateInProgressMainForm").validate({ 
      rules: { 
       AuditDoc.Title: "required", 
       AuditDoc.ActivityId: "required" 
      }, 
      messages: { 
       AuditDoc.Title: "Please enter a Title (JQuery Validate)", 
       AuditDoc.ActivityId: "Please select an Activity Id (JQuery Validate)" 
      }, 
      submitHandler: function (form) { 
       alert("Submitted!"); 
      } 
     }); 

回答

1

嘗試把引號像

$("#SaveCreateInProgress").click(function() { 
     $("#AdvanceDirection").val("SAVE"); 
     $("#CreateInProgressMainForm").validate({ 
      rules: { 
       "AuditDoc.Title": "required", 
       "AuditDoc.ActivityId": "required" 
      }, 
      messages: { 
       "AuditDoc.Title": "Please enter a Title (JQuery Validate)", 
       "AuditDoc.ActivityId": "Please select an Activity Id (JQuery Validate)" 
      }, 
      submitHandler: function (form) { 
       alert("Submitted!"); 
      } 
     }); 

PS你爲什麼不使用附帶MVC

編輯

這裏的unobtrusive validation爲演示http://jsfiddle.net/DWHjw/

+0

我試着使用你建議的引號,但它仍然不起作用。至於不顯眼的驗證,我不能使用內置的MVC模型驗證,因爲我有兩個不同的視圖共享相同的模型。這將需要大量的返工才能將其變成可以與mvc驗證一起工作的方式。 – TheDude 2012-08-10 17:08:10

+0

我已包含一個工作演示 – Rafay 2012-08-10 17:55:53

+0

太棒了!感謝演示! – TheDude 2012-08-11 00:55:27