Asp.net MVC 2.0 DataAnnotations验证不正确发出JSON
-
19-09-2019 - |
题
我试图让使用ASP.Net MVC 2.0 Beta版的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,无所谓)来验证字段。验证的不的发生在服务器端,但从来没有在客户端上,原因是显而易见的。
解决方案
答案是有点偷偷摸摸。我发现的问题是缺乏ValidationMessageFor
的,即使是有ValidationSummary
。加入以下之后:
<%=Html.ValidationMessageFor(x=>x.Bar)%>
在适当的JSON被发射和jQuery验证工作。
这似乎很奇怪,你的的的有,即使你有验证摘要信息。
不隶属于 StackOverflow