代码之家  ›  专栏  ›  技术社区  ›  Mark

ASP.NET MVC 2.0 DataAnnotations验证未发出正确的JSON

  •  1
  • Mark  · 技术社区  · 15 年前

    我正在尝试使用ASP.NET MVC 2.0测试版中的DataAnnotations验证程序进行安装,但使用以下模型:

    public class Foo {
        [Required] public string Bar {get;set;} 
    }
    

    以及我的视图中的以下代码:

     <%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage<Foo>" %>
    
     <!-- later on -->
     <% Html.EnableClientValidation(); %>
     <% using (Html.BeginForm("Edit","Foo")) { %>             
    

    从例子来看,一切都是一字不差的。排放的是:

    <script type="text/javascript">
    //<![CDATA[
    EnableClientValidation({"Fields":[],"FormId":"form0"}, null);
    //]]>
    </script>
    

    任何时候都不会发出任何消息来告诉任何javascript验证库(jquery或ms-ajax,无所谓)来验证字段。验证 在服务器端发生,但从不在客户机上发生,原因很明显。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Mark    15 年前

    答案有点含混不清。我 found out 问题是缺乏 ValidationMessageFor 即使有一个 ValidationSummary . 添加以下内容后:

    <%=Html.ValidationMessageFor(x=>x.Bar)%>
    

    发出了正确的JSON,jQuery验证工作正常。

    你看起来很奇怪 即使您有验证摘要,也要有消息。