jquery 验证未加载 requirejs

jquery validate not loaded requirejs

提问人:user1428798 提问时间:9/23/2013 最后编辑:krygeruser1428798 更新时间:9/23/2013 访问量:2043

问:

我在RequireJS中有一个主模块:

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

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

类型错误:$(...)。validate 不是一个函数 var 验证器 = $(“form”).validate();**

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

enter image description here

jquery jquery-validate requirejs unobtrusive-javascript

评论


答:

6赞 kryger 9/23/2013 #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
});

官方文档中的更多详细信息(和示例)(查找“对于只是jQuery或Backbone插件的”模块“部分)。