我正在尝试使用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,无关紧要)来验证字段。验证 在服务器端发生,但从未在客户端发生,原因很明显。
答案 0 :(得分:0)
答案有点偷偷摸摸。我found out问题是缺少ValidationMessageFor
,即使有ValidationSummary
。添加以下内容后:
<%=Html.ValidationMessageFor(x=>x.Bar)%>
发出了正确的JSON并且jQuery验证工作正常。
即使您有验证摘要,但 仍然显示消息似乎很奇怪。