2011-03-15 22 views
0

希望能夠使用MVC驗證+我的自定義JavaScript驗證。
MVC的驗證是非常好的模型驗證。這裏的主要問題是我有更復雜的驗證。我自己的JavaScript驗證+ MicrosoftMvcValidation。可能嗎 ?我將如何

例:案例與MVC驗證

<div class="editorSmall"> 
    <div class="editor-label bold"> 
     <%: Html.LabelFor(model => model.Location.CurID)%>: 
    </div> 
     <div class="editor-field"> 
     <%:Html.DropDownListFor(model => model.Location.CurID, Model.CurrenciesList)%> 
     <%: Html.ValidationMessageFor(model => model.Location.CurID)%> 
    </div> 
</div> 

<div class="editorSmall"> 
    <div class="editor-label bold"> 
     <%: Html.LabelFor(model => model.Location.UnitID)%>: 
    </div> 
     <div class="editor-field"> 
     <%:Html.DropDownListFor(model => model.Location.UnitID,Model.UnitList)%> 
     <%: Html.ValidationMessageFor(model => model.Location.UnitID)%> 
    </div> 
</div> 

正如你可以看到我使用ValidationMessageFor模型驗證。

EX:自定義驗證。
在這裏,我想在列表框進行驗證。我希望它是必需的。因爲這不是強類型的,所以我需要其他方法來進行驗證。

<div class="editorSmall" > 
     <div class="editor-label bold"> 
      <label><%:Model.GrpName1%>:</label> 
     </div> 
     <div class="editor-field"> 
      <%: Html.ListBox("Model_Groupe1", new MultiSelectList(Model.Groupe1, "GrpDescID", "GrpDescTxt", Model.Groupe1Selected.Select(g => g.GrpDescID)), new { @class = "grplb" })%> 
     </div> 
    </div> 


我想要什麼: 如果我點擊提交按鈕,我想建在MVC驗證+在同一時間我自定義的驗證......我的意思是,如果第一次驗證(MVC之一)無效,我希望我的自定義驗證也可以執行驗證。

感謝

回答

0

能想到幾個不同勢的方式來處理這個問題的,但是,正如你可能已經想到了,你的自定義腳本驗證腳本,如果未在客戶端上啓用將無法運行。我猜這不是問題?

在這種情況下: 覆蓋提交按鈕,做您的驗證邏輯之前提交。把結果放在隱藏的輸入中。 將隱藏的輸入添加到模型中,並驗證該輸入而不是選擇。

然後,您可以使用validationmessage您隱藏的輸入來顯示錯誤或回傳後再次運行邏輯(如果你有想你的腳本顯示validationmessages)。

相關問題