Как использовать jquery.validate с requirejs?

require.config({  
    paths:{  
        jquery:"lib/jquery-1.12.3.min",  
        bootstrap:"lib/bootstrap.min",  
        validate:"lib/jquery.validate.min"  
    },  
    shim:{  
        bootstrap:['jquery'],  
        validate:['jquery']    
    }  
});      


require(['jquery','validate'],function(){  
    alert("hope it works");  
});  

Метод оповещения не может работать.
Тем не менее, если я удаляю "проверить" в

require(['jquery','validate'],function(){  
     alert("hope it works");  
});  

именно так:

require(['jquery'],function(){  
     alert("hope it works");  
});  

Затем метод оповещения работает.
Это наводит на мысль, что есть проблема с библиотекой validate и RequireJs вместе.
Я уверен, что я делаю что-то тривиально неправильно.
Буду признателен за помощь. Спасибо

1 ответ

Решение

Это работает, как ожидалось.

Работая на скрипке - https://jsfiddle.net/p15nn7jb/

require.config({  
    paths:{  
        jquery:"https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery",  
        bootstrap:"https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.min",  
        validate:"https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.15.0/jquery.validate.min"  
    },  
    shim:{  
        bootstrap:['jquery'],  
        validate:['jquery']    
    }  
});      


require(['jquery','validate'],function(){  
    alert("hope it works");  
});

Также обратитесь к ссылке ниже, которая использует проверку jquery с require js

https://jqueryvalidation.org/files/demo/requirejs/index.html

Есть похожая ошибка только я хочу использовать локализованные сообщения не могу заставить его работать с CDN только локально

    require.config({  
paths:{  
    jquery:"https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery",    
    validate:"https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.15.0/jquery.validate.min",  
    messages_he:"https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.18.0/localization/messages_he.min"  
},  
shim:{  
    bootstrap:['jquery'],  
    validate:['jquery']    
    }  
});      


require(['jquery','validate'],function(){  
    $.validator.setDefaults({
        submitHandler: function () {
            console.log("submitted!");
        }
    });
    $("form").validate();
}); 

но этот местный работает нормально

require.config({  
paths:{  
    jquery:"https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery",    
    validate:"libs/jquery-validate/1.15.0/jquery.validate.min",  
    messages_he:"libs/jquery-validate/1.18.0/localization/messages_he.min"  
},  
shim:{  
    bootstrap:['jquery'],  
    validate:['jquery']    
    }  
});      

require(['jquery', paths.jqueryval, paths.messages_he],function(){  
    $.validator.setDefaults({
        submitHandler: function () {
            console.log("submitted!");
        }
    });
    $("form").validate();
}); 
Другие вопросы по тегам