【问题标题】:MVC fool proof validation error inside the JS filesJS文件中的MVC傻瓜验证错误
【发布时间】:2012-04-03 08:37:57
【问题描述】:

我从http://foolproof.codeplex.com/下载了MVC Fool Proof Validation

因为我需要 [RequiredIf]。

当我安装 MVC Fool Proof Validation 时,我收到了三个 Javascript 文件

哪些是我在布局中使用的:

<script src="@Url.Content("~/Scripts/mvcfoolproof.unobtrusive.min.js")" type="text/javascript"></script>    
<script src="@Url.Content("~/Scripts/MvcFoolproofJQueryValidation.min.js")" type="text/javascript"></script>  
<script src="@Url.Content("~/Scripts/MvcFoolproofValidation.min.js")" type="text/javascript"></script>

问题是当我使用 Chrome 检查我的脚本时,这些 JS 文件出现以下错误。

   Uncaught TypeError: Cannot read property 'adapters' of undefined mvcfoolproof.unobtrusive.min.js:54
   Uncaught TypeError: Cannot read property 'ValidatorRegistry' of undefined MvcFoolproofValidation.min.js:50

这是第一个错误

第二个错误:

我什至没有编辑 JS 文件中的任何内容:S 任何解决方案表示赞赏!

提前致谢!

【问题讨论】:

    标签: javascript jquery asp.net-mvc validation customvalidator


    【解决方案1】:

    看起来您在包含 jQuery 之前包含了脚本。您应该在这些脚本之前包含 jQuery

    【讨论】:

    • 对 :) 但现在我收到另一个错误,我用新错误更新了图片
    • 如果我查看foolproof.codeplex.com,我看不到您使用的相同脚本。我认为您应该检查要使用的验证并使用该页面推荐的脚本
    • 我在安装 Fool Proof 时得到了这个脚本,但我没有从页面中收到这些脚本。我猜他没有更新他的页面。
    • 您包含 3 个脚本。在万无一失的页面中有一个关于客户端验证的部分。看看要包含哪些脚本,以什么顺序以及要使用的验证
    【解决方案2】:

    在 MVC4 中使用 FoolProof RequiredIf 时要小心。

    这有效: [RequiredIfTrue("lead_recommendation", ErrorMessage="required")]

    这不会: [RequiredIfTrue("lead_recommendation", ErrorMessage="Required")]

    我花了好几个小时在这上面绞尽脑汁。

    【讨论】:

    • 似乎是所有/大多数/许多字符串作为值传递给属性属性到 Foolproof 属性的情况。为了安全起见,我现在总是在其验证属性上使用首字母大写。
    【解决方案3】:

    执行以下步骤:

    • 第一步:

    PM> 安装包MicrosoftAjax

    • 第二步:

    PM>安装包MicrosoftMvcAjax.Mvc5

    • 第三步:

    将它们包含在 bundleconfig 中,如下所示:

    bundles.Add(new ScriptBundle("~/bundles/mvcFoolProof").Include(
                              "~/Scripts/MicrosoftAjax*",
                              "~/Scripts/MicrosoftMvcAjax*",
                              "~/Scripts/MicrosoftMvcValidation*",
                              "~/Scripts/mvcfoolproof*",
                              "~/Scripts/MvcFoolproofJQueryValidation*",                                            
                              "~/Scripts/MvcFoolproofValidation*"));
    

    现在它应该可以正常工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-12
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      相关资源
      最近更新 更多