Я борюсь с requirejs. У меня после JQuery проверки пользовательский модуль аддон определены:loading jquery validation using requirejs
валидация-addon.js
define(['jquery', 'jquery.validate', 'jquery.validate.unobtrusive'],
function ($) {
$.validator.setDefaults({
highlight: function (element) {
$(element).closest('.form-group').addClass('has-error');
},
unhighlight: function (element) {
$(element).closest('.form-group').removeClass('has-error');
}
});
....
});
Мои requirejs конфигурационный файл:
config.js
require.config({
baseUrl: '/Scripts',
paths: {
'jquery': 'lib/jquery-2.0.3',
'jquery.validate': 'lib/jquery.validate',
'jquery.validate.unobtrusive': 'lib/jquery.validate.unobtrusive',
},
shim: {
'jquery.validate': {
deps: ['jquery']
},
'jquery.validate.unobtrusive': {
deps: ['jquery.validate']
}
}
});
I Я использую эти модули в моем представлении регистрации пользователя mvc следующим образом:
register.cshtml
require(['/Scripts/modules/config.js'], function() {
require(['modules/user-register', 'modules/validation-addon'],
function (userregistration) {
//using user registration module here..
}
);
});
Проблема я столкнулся немного странно. Когда я перехожу на регистрацию пользователя с первого раза и вводят неправильные значения в поля ввода ввода, чем пользовательские подсветка и unhighlight функции, которые я переопределил на валидаторе jquery, не выполняются, но если я перезагружу представление регистра, ,
Мое ощущение, что это происходит из-за последовательности загрузки модулей, но я не понимаю, как это решить, может ли кто-нибудь помочь мне решить эту проблему?
Я предполагаю, что вы не используете оптимизатор (r.js возможен только в узле js) в вашем проекте .net. Вы должны называть свои модули. определяют ('ModuleName', [ 'dep1', 'DEP2'], функция (d1, d2) {...}); – KyorCode
@KyorCode, но мои другие модули работают правильно и BTW из документации requirejs. Обычно лучше избегать кодирования в имени для модуля и просто позволить инструменту оптимизации записывать имена модулей. ', Но теперь я немного запутался , если я не использую r.js (инструмент оптимизации), а также не определяю имя для модулей, чем то, как работают другие модули, за исключением упомянутой выше проблемы? – gaurav
@gaurav игнорировать предложение KyorCode. Он не имеет ничего общего с проблемой, с которой вы сталкиваетесь. – Louis