jquery验证未加载requirejs

use*_*798 2 jquery unobtrusive-javascript jquery-validate requirejs unobtrusive-validation

我在RequireJS中有一个主模块:

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

当我加载此页面时,出现JavaScript错误:

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

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

在此输入图像描述

kry*_*ger 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
});
Run Code Online (Sandbox Code Playgroud)

官方文档中的更多细节(和示例)(查找"For"模块"只是jQuery或Backbone插件......"部分).