1

我在RequireJS主模塊:JQuery驗證未加載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插件...「部分)。