如何客户端验证razor mvc3中的下拉列表框?

时间:2012-07-26 15:36:02

标签: asp.net-mvc-3

如何客户端验证下拉列表框.....

            @Html.DropDownListFor(per => per.Gender, new[] {
                        new SelectListItem(){Text = "Male" , Value="Male"},
                        new SelectListItem(){Text ="Female" , Value = "Female"},
                    }, "Select Your Gender")
            @Html.ValidationMessageFor(per => per.Gender)

1 个答案:

答案 0 :(得分:1)

在您的视图中包含jquery validate plugin脚本以及jQuery(如果尚未在Layout.cshtml中引用)

@model SomeModel
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>    
@using (Html.BeginForm())
{

   @Html.DropDownListFor(per => per.Gender, new[] {
                        new SelectListItem(){Text = "Male" , Value="Male"},
                        new SelectListItem(){Text ="Female" , Value = "Female"},
                    }, "Select Your Gender")
            @Html.ValidationMessageFor(per => per.Gender)

    <input type="submit" />
}

确保SomeModel的Gender属性是必需的

[Required]
public string Gender { set;get;}

更新您的web.config并将名为ClientValidationEnabled的AppSetting设置为true

<appSettings>
  <add key="ClientValidationEnabled" value="true" />
  <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

现在,当您提交时,如果在浏览器中启用了javascript,它将执行客户端验证。