【问题标题】:Asp.net MVC 4 Client Side Validation Not WorkAsp.net MVC 4 客户端验证不起作用
【发布时间】:2014-08-02 20:33:56
【问题描述】:

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)

脚本:

<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

网页配置:

  <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"}))

【问题讨论】:

  • 您的模型是否有任何从System.ComponentModel.DataAnnotations 继承的ValidationAttribute 实例?您的 web.config 是否同时具有 &lt;add key="ClientValidationEnabled" value="true" /&gt;&lt;add key="UnobtrusiveJavaScriptEnabled" value="true" /&gt;
  • 我在 question 中添加了 web config 和 model 属性。我觉得这里没有问题
  • 你的表单标签是什么样子的?
  • @cptc 是的,看起来正确,并且应该可以正常工作。您尝试过哪些浏览器,是否查看了浏览器中的调试器以检查 javascript 错误?
  • @MikeGuthrie 是的,我查看了 chrome 控制台,但这里没有错误。

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


【解决方案1】:

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

我将此脚本添加到部分视图中,并且验证适用于部分视图。

$.validator.unobtrusive.parse($("#newuser"));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 2014-03-25
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多