0

我有可选的下拉菜单,如果未进行选择,它会触发验证错误,如何使其成为可选但如果进行选择仍将其绑定。

得到了这个答案链接,但它实际上停止了绑定,这不是我想要的,我也知道如何完全摆脱不显眼的验证并完成经典的方式,然后从 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>
    }
4

1 回答 1

0

int默认情况下不可为空。验证将根据需要处理此问题。将您的属性更改为int?Nullable<int>使其不需要。

于 2013-08-09T18:30:42.190 回答