1

У меня есть главный модуль в RequireJS:JQuery Validate не загружен 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 is not a function var validator = $("form").validate();**

не знаю я теперь, почему? Все скрипты загружаются:

enter image description here

ответ

3

Вам необходимо правильно настроить 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 ... » раздел).

Смежные вопросы