我有可选的下拉菜单,如果未进行选择,它会触发验证错误,如何使其成为可选但如果进行选择仍将其绑定。
得到了这个答案链接,但它实际上停止了绑定,这不是我想要的,我也知道如何完全摆脱不显眼的验证并完成经典的方式,然后从 http 帖子中得到我想要的,但我想知道 mvc4 是否客户端验证对此很灵活。基本上我正在验证服务器端并抛出异常,然后将它们添加到 ModelState,因此需要 mvc 内置客户端验证的部分支持,并且除了下拉菜单外它工作正常。
我的模型在属性上没有“必需”属性,这是我的表单:
@using (Html.BeginForm("Send", "Mail", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary()
<fieldset>
<legend>New Support Ticket: </legend>
<ul>
<li>
<label for="@Model.TypeLookupId">Type</label>
@Html.DropDownListFor(m => m.TypeLookupId, Model.Types)
</li>
<li>
<label for="@Model.IssueName">Subject</label>
@Html.TextBoxFor(m => m.IssueName, Model.IssueName)
</li>
<li>
<label for="@Model.IssueNewNote">Comment</label>
@Html.TextAreaFor(m => m.IssueNewNote, string.Empty)
</li>
<li>
<input type="file" name="files" id="files" multiple="multiple"/>
</li>
<li>
<input type="submit" value="Save" />
</li>
</ul>
</fieldset>
}