【问题标题】:jquery validate not loaded requirejsjquery validate 未加载 requirejs
【发布时间】:2013-09-28 02:23:20
【问题描述】:

我在 RequireJS 中有一个主模块:

require([
    'jquery',
    'jquery.validate',
    'jquery.validate.unobtrusive'
], function ($) {
    $(document).ready(function () {
        var validator = $("form").validate();
        if ($("#txtFirstName").val() !== "")
            validator.element("#txtFirstName");
    });
});

当我加载这个页面时,我收到一个 JavaScript 错误:

TypeError: $(...).validate 不是函数 var 验证器 = $("form").validate();**

我现在不知道为什么?已加载所有脚本:

【问题讨论】:

    标签: jquery jquery-validate requirejs unobtrusive-validation unobtrusive-javascript


    【解决方案1】:

    您需要配置 shim 以正确“连接”依赖项:

    require.config({
      paths: {
        'jquery': 'path-to-jquery',
        'jquery.validate': 'path-to-jquery-validate',
        'jquery.validate.unobtrusive': 'path-to-jquery-validate-unobtrusive'
      },
      shim: {
        'jquery.validate': ['jquery'],
        'jquery.validate.unobtrusive': ['jquery', 'jquery.validate']
      }
    });
    
    require(['jquery', 'jquery.validate', 'jquery.validate.unobtrusive'], function ($) {
      // your code
    });
    

    更多详细信息(和示例)in the official documentation(查找 “对于只是 jQuery 或 Backbone 插件的“模块”...” 部分)。

    【讨论】:

      猜你喜欢
      • 2013-01-08
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 2014-08-06
      相关资源
      最近更新 更多