首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从ajax调用获取表单时,MVC2客户端验证不起作用

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

Stack Overflow用户
提问于 2010-05-23 22:06:58
回答 2查看 3.3K关注 0票数 2

我正在尝试在通过$.get呈现的部分视图中使用MVC2客户端验证。但是,客户端验证不起作用。我不太清楚是怎么回事。

代码语言:javascript
运行
复制
[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并在模式弹出窗口中显示即可。

顺便说一句,有没有人知道是否可以在没有提交按钮的情况下提交带有客户端验证的表单?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-23 23:04:36

不久前,我写了一篇关于这个问题的文章,您可以在您的情况下使用它作为起点(您将不得不修改调用函数并将正确的元素传递给进程的位置):http://tpeczek.com/2010/04/making-aspnet-mvc-2-client-side.html

票数 0
EN

Stack Overflow用户

发布于 2010-05-23 22:29:09

MVC2客户端验证依赖于对模型中的验证规则进行编码的页面上呈现的一些额外的javascript。我认为您可以从部分视图中获得这一点,尽管我还没有尝试过,只要您在开始表单之前将EnableClientValidation调用包含在您的部分视图中。确保MVC客户端javascript包含在主视图中。

代码语言: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验证脚本是正确的,但我还没有使用过它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2892031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档