当使用jQuery验证g ASP.NET MVC 3.0 AjaxForm时出现错误

问题描述

|| 尝试使用此解决方案通过jQuery验证来验证AjaxForm ASP.Net MVC Ajax表单,但出现错误:
Uncaught exception: TypeError: Cannot convert \'$(\'MyFrom\').validate()\' to object
我来自:
@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才能进行Unobtrusive验证工作。 默认情况下,MvcContrib是否在下一版本中支持不干扰验证?     

解决方法

        您正在寻找的答案与ASP.NET MVC的早期版本有关。在ASP.NET MVC 3中,客户端验证是使用jquery validate插件执行的,并且不会引起干扰。您不需要任何代码。因此,第一件事是确保您包括正确的脚本:
<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和验证:
<add key=\"ClientValidationEnabled\" value=\"true\"/>
<add key=\"UnobtrusiveJavaScriptEnabled\" value=\"true\"/>
现在,您可以使AJAX表单正常运行:
@using (Ajax.BeginForm(\"MyFromAction\",\"Competition\",null,new AjaxOptions() { OnBegin = \"onBeginMyFrom\",OnFailure = \"onFailureMyFrom\",OnSuccess = \"onSuccessMyFrom\" },new { @id = \"MyFrom\" }))
{
    ...
}
该表格将在客户端检查验证错误,并且只有在纠正错误后才会提交。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...