【问题标题】:Getting error when validationg ASP.NET MVC 3.0 AjaxForm with jQuery使用 jQuery 验证 ASP.NET MVC 3.0 Ajax 表单时出错
【发布时间】:2011-05-30 06:30:01
【问题描述】:

尝试使用此解决方案来验证 AjaxForm ASP.Net MVC Ajax form with jQuery validation 但我收到错误: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 才能进行不显眼的验证工作。

MvcContrib 是否会在下一个版本中默认支持 Unobtrusive 验证?

【问题讨论】:

    标签: asp.net-mvc-3 jquery jquery-validate


    【解决方案1】:

    您正在查看的答案与以前版本的 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" }))
    {
        ...
    }
    

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

    【讨论】:

    • 好的,我明白了,但是我已经包含了所有脚本,并且我还启用了 ClientValidationEnabled 和 UnobtrusiveJavaScriptEnabled。
    • 我忘记了 MVCContrib 不会生成不显眼的验证属性,这就是为什么它对我不起作用。 weblogs.asp.net/srkirkland/archive/2011/03/08/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    • 2012-02-28
    • 1970-01-01
    • 2011-08-25
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多