我在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 validator = $(“form”)。validate(); **
我现在不知道为什么?加载所有脚本:
答案 0 :(得分:5)
您需要配置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(寻找“For”模块“只是jQuery或Backbone插件......”部分)。