首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jQuery验证ASP.NET MVC3.0 AjaxForm时出错

使用jQuery验证ASP.NET MVC3.0 AjaxForm时出错
EN

Stack Overflow用户
提问于 2011-05-30 14:30:01
回答 1查看 348关注 0票数 1

尝试使用此解决方案验证AjaxForm ASP.Net MVC Ajax form with jQuery validation,但遇到错误:Uncaught exception: TypeError: Cannot convert '$('MyFrom').validate()' to object

我的发件人:

代码语言:javascript
复制
@using (Ajax.BeginForm("MyFromAction", "Something", null, new AjaxOptions() { OnBegin = "onBeginMyFrom", OnFailure = "onFailureMyFrom", OnSuccess = "onSuccessMyFrom" }, new { @id = "MyFrom" }))
{
}

我的表单工作正常并发送到服务器,但是在我使用jQuery验证之后,我得到了上面的错误。

有什么想法吗?

更新:我没有提到我正在使用MVCContrib FluentHtml。

MVCContrib需要此http://weblogs.asp.net/srkirkland/archive/2011/03/08/adding-unobtrusive-validation-to-mvccontrib-fluent-html.aspx来进行不显眼的验证工作。

默认情况下,MvcContrib是否会在下一个版本中支持非侵入式验证?

EN

回答 1

Stack Overflow用户

发布于 2011-05-30 14:43:11

您正在查看的答案与以前版本的ASP.NET MVC相关。在ASP.NET MVC3中,客户端验证是使用jquery validate插件执行的,而且是在一个不显眼的事情上完成的。您不需要为此编写任何代码。因此,第一件事是确保您包含了正确的脚本:

代码语言:javascript
复制
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>

然后在web.config中启用这个不显眼的javascript和验证:

代码语言:javascript
复制
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>

现在,您可以让AJAX表单正常运行了:

代码语言:javascript
复制
@using (Ajax.BeginForm("MyFromAction", "Competition", null, new AjaxOptions() { OnBegin = "onBeginMyFrom", OnFailure = "onFailureMyFrom", OnSuccess = "onSuccessMyFrom" }, new { @id = "MyFrom" }))
{
    ...
}

表单将在客户端检查验证错误,并且在修复错误之前不会提交。

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

https://stackoverflow.com/questions/6172969

复制
相关文章

相似问题

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