我希望能够使用MVC验证+我的自定义javascript验证 MVC验证非常适合模型验证。这里的主要问题是我有更复杂的验证。
Ex: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 :(得分:0)
可以考虑一些不同的方法来处理这个问题但是,正如您可能已经想到的那样,如果客户端上未启用脚本,则自定义脚本验证将无法运行。我猜这不是问题吗?
在这种情况下: 在提交之前覆盖提交按钮并执行验证逻辑。将结果放入隐藏输入。 将隐藏的输入添加到模型并验证而不是选择。
然后,您可以使用validationmessage作为隐藏输入来显示错误或在回发后再次运行逻辑(如果您希望脚本显示验证消息)。