从ajax调用获取表单时,MVC2客户端validation不起作用

我正在尝试在通过$ .get呈现的局部视图中使用MVC2客户端validation。 但是,客户端validation不起作用。 我不太确定这笔交易是什么。

[Required(ErrorMessage = "Email is required")] public string Email { get; set; }   m.Email, new { @class = "TextBox150" } )%>  m.Email )%>   

我没有做任何特别的事情来渲染局部视图。 只需将html放入div并在模态弹出窗口中显示即可。

在旁注中,有没有人知道是否可以在没有提交按钮的情况下提交带有客户端validation的表单?

前段时间我写了一篇关于这个问题的post,你可以将它作为你的情况的起点(你必须修改你调用函数的地方并传递正确的元素来处理): http : //tpeczek.com/ 2010/04 /制作花絮ASPNET-MVC-2-客户side.html

MVC2客户端validation依赖于在模型上编码validation规则的页面上呈现的一些其他javascript。 我认为你可以从局部视图中获得这个,虽然我没有尝试过,只要你在开始表单之前在局部视图中包含EnableClientValidation调用。 确保您在主视图中包含MVC客户端JavaScript。

 <% Html.EnableClientValidation(); %> <% using ( Ajax.BeginForm( new AjaxOptions { Confirm = "You sure?" } ) ) { %> <%: Html.TextBoxFor( m => m.Email, new { @class = "TextBox150" } )%> <%= Html.ValidationMessageFor( m => m.Email )%>  <% } %> 

我通常使用MVC2基于模型的validation与jQueryvalidation插件结合使用MVCFutures代码中的MVC / jQuery glue javascript。 我知道这适用于表单提交,无论是通过提交按钮还是javascript触发提交。 我的所有“按钮”都是通过javascript触发表单提交的链接,它对我有用。 我认为标准MVCvalidation脚本是正确的,但没有使用它们。