mvc客户端验证,必需属性不起作用

时间:2016-06-08 01:39:21

标签: asp.net-mvc forms-authentication client-side-validation

我正在使用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>

添加必需属性后,表单可以显示未选中该字段的消息。 但是,当我继续选择字段时,会显示消息,似乎无法接收所选的值。当我重新加载项目并选择所需字段时,我可以继续提交查询。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

似乎required属性仅适用于IE中的select类,如果未启用多个选择(我使用bootstrap multiselect)。

相反,我在提交按钮中编写了一个函数来实现验证。

<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

的原因