我正在尝试在通过$.get呈现的部分视图中使用MVC2客户端验证。但是,客户端验证不起作用。我不太清楚是怎么回事。
[Required(ErrorMessage = "Email is required")]
public string Email { get; set; }
<% using ( Ajax.BeginForm( new AjaxOptions { Confirm = "You sure?" } ) ) { %>
<%: Html.TextBoxFor( m => m.Email, new { @class = "TextBox150" } )%>
<%= Html.ValidationMessageFor( m => m.Email )%>
<input type="submit" value="Add/Save" style="float: right;" />
<% } %>我没有做任何特殊的事情来渲染局部视图。只需将html放入div并在模式弹出窗口中显示即可。
顺便说一句,有没有人知道是否可以在没有提交按钮的情况下提交带有客户端验证的表单?
发布于 2010-05-23 23:04:36
不久前,我写了一篇关于这个问题的文章,您可以在您的情况下使用它作为起点(您将不得不修改调用函数并将正确的元素传递给进程的位置):http://tpeczek.com/2010/04/making-aspnet-mvc-2-client-side.html
发布于 2010-05-23 22:29:09
MVC2客户端验证依赖于对模型中的验证规则进行编码的页面上呈现的一些额外的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 )%>
<input type="submit" value="Add/Save" style="float: right;" />
<% } %>我通常将基于MVC2模型的验证与jQuery验证插件结合使用,使用MVCFutures代码中的MVC/jQuery glue javascript。我知道这适用于表单提交,无论提交是通过提交按钮还是javascript触发的。我所有的“按钮”都是通过javascript触发表单提交的链接,这对我很有效。我假设这对于标准的MVC验证脚本是正确的,但我还没有使用过它们。
https://stackoverflow.com/questions/2892031
复制相似问题