gpt4 book ai didi

javascript - 为什么我在使用 RequireJS 时同时收到 "$jQval is undefined"和 "$.validator.unobtrusive is undefined"?

转载 作者:行者123 更新时间:2023-12-02 19:26:14 26 4
gpt4 key购买 nike

这让我困惑了几个小时。当脚本位于非 requirejs javascript 文件中时,它可以正常工作。当我将它与 RequireJS 一起使用时,它无法工作并在问题标题中给出错误消息(通过 firebug 控制台)。

在尝试重构为模块之前,我只是想让它与 RequireJS 一起“工作”。

Html 渲染正确。脚本加载正确。另外,我正在使用 require-jquery.js bundle 下载,所有页面的布局模板中都引用了该包。

ma​​in.js:

require.config({
paths: {
"maximum-filesize": "modules/validation/maximum-filesize"
}
});

require(["maximum-filesize", "domReady!"], function (maxFileSize) {
});

最大文件大小.js

require.config({
paths: {
"jquery-validate": "libs/jquery/jquery.validate",
"jquery-validate-unobtrusive": "libs/jquery/jquery.validate.unobtrusive"
}
});

define(["jquery", "jquery-validate", "jquery-validate-unobtrusive", "domReady!"], function ($) {

$.validator.unobtrusive.adapters.add(
'filesize', ['maxsize'], function(options) {
options.rules['filesize'] = options.params;

if (options.messages) {
options.messages['filesize'] = options.message;
}
});

$.validator.addMethod('filesize', function (value, element, params) {
if (element.files.length < 1) {
// No files selected
return true;
}

if (!element.files || !element.files[0].size) {
// This browser doesn't support the HTML5 API
return true;
}

return element.files[0].size < params.maxsize;
}, '');
});

编辑 1

我只是尝试注释掉上述所有代码,并将其替换为简单的:

 $('#Name').val("Hello");

这在 #Name 文本框中正确呈现了“Hello”,因此 JQuery 正在工作。

最佳答案

您应该使用requires shim选项来告诉requires在jquery验证之前加载jquery。否则加载顺序未定义。

另一个可能的问题是调用 requirejs.config 两次。 Requirejs 在合并配置时遇到问题

关于javascript - 为什么我在使用 RequireJS 时同时收到 "$jQval is undefined"和 "$.validator.unobtrusive is undefined"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12020783/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com