Asp.net MVC 4客户端验证不起作用

时间:2014-06-12 13:30:40

标签: asp.net-mvc validation razor asp.net-ajax

Ajax.beginform验证仅在控制器中运行。我想在客户端验证模型。

示例助手:

<label class="control-label">@Html.DisplayNameFor(Function(m) m.Name)</label>
@Html.TextBoxFor(Function(m) m.Name,New With{.class="form-control"})
@Html.ValidationMessageFor(Function(M) M.Name)

Scipts:

<script src="@Url.Content("~/Scripts/Admin/js/jquery-1.10.2.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")"></script> 

模型属性

<Display(Name:="UserName", ResourceType:=GetType(UserStrings))>
<Required(ErrorMessage:="Username is required")>
Public Property Uname As String

Web配置:

  <appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>

表格:

@Using (Ajax.BeginForm("newUser", "Admin", New AjaxOptions With {.InsertionMode = InsertionMode.Replace,
                                                            .HttpMethod = "POST",
                                                            .UpdateTargetId = "allusers"}))

1 个答案:

答案 0 :(得分:0)

我发现了问题。我在局部视图中使用了这种形式。当我将表单复制到主视图时,客户端验证工作正常。

我将此脚本添加到局部视图,验证与局部视图一起使用。

$.validator.unobtrusive.parse($("#newuser"));
相关问题