カスタム データ属性 JQuery 控えめなアダプターからエラー メッセージを取得しようとしていますが、エラー メッセージを変数に抽出できないようです。私の検証メッセージは次のように返されます。
警告: 画像にメッセージが定義されていません
コードは次のとおりです。
$(document).ready(function () {
var errorMessage;
$.validator.unobtrusive.adapters.add(
'filesize', ['maxsize'], function (options) {
options.rules['filesize'] = options.params;
if (options.message) {
options.message['filesize'] = options.message;
$.each(options, function (key, val) {
console.log("Key: " + key + " | Value: " + val);
if (key === "message") {
errorMessage = val;
}
});
}
});
$.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;
}, errorMessage); // This is where the variable errorMessage is used
});
また、options.messages (複数形) の正しい JQuery 構文を使用して $.each ブロック全体を除外すると、Firebug を開くと Firefox がクラッシュしますか?