具有必需属性的 mvc 客户端验证不起作用

mvc client side validation with required attribute not working

我正在使用 bootstrap multiselect 插件

            <select class="btn btn-default  col-md-1" name="fw_dropdown" id="fw_dropdown" multiple="multiple" required="required">
            @foreach (var fw in Model.FWIndex)
            {
                <option value="@fw">@fw</option>
            }
        </select>

在我添加所需属性后,表单能够显示一条消息,指出该字段未 selected。 然而,当我继续select该字段时,消息一直显示,似乎无法接收selected值。当我重新加载项目并select必填字段,我可以继续提交查询。

我该如何解决这个问题?

似乎 required 属性仅适用于 IE 中未启用多选时的 select class(我正在使用 bootstrap 多选)。

而是我在提交按钮中写了一个函数来实现验证。

<script>
        $(document).ready(function(event){
            $("form").submit(function(event){
                var fw=$("#fw_dropdown").val();
                if(fw=="" || fw==null){
                    alert("Please select FW!");
                    //prevent form submission
                    event.preventDefault();
                }
                //allow form submission only when if is not true
            });
        })
</script>

为了在 Web 应用程序中生成表单,我使用了 html 助手。

@using (Html.BeginForm("Query", "Actuals"))

这就是为什么使用 "form" 而不是表单 id