我有一個自定義驗證方法,我正在使用jQuery驗證程序。我試圖讓錯誤消息被動態生成。jquery驗證器addmethod動態消息
我已經使用了Google搜索,並且我最常見的答案顯示在this stackoverflow post中。
但是,當我嘗試自己實現它時,它不起作用。它只是忽略我更新的消息,只顯示原始消息。
這是我的代碼,位於jquery.ready()函數內部。我究竟做錯了什麼?
注意:「g $」是我們對jquery的簡寫。
var jsBlackoutDateMessage = "Tournaments cannot be scheduled on blackout dates.";
var jsBlackoutDateMessageFunction = function() {
return jsBlackoutDateMessage;
};
g$.validator.addMethod(
"notBlackoutDate",
function (value, element) {
var notBlackoutDate = true;
if (g$.inArray(value, jsBlackoutDates) != -1) {
notBlackoutDate = false;
}
if (notBlackoutDate == false) {
// year
var year = new Date(g$.trim(g$('#txtDate').val())).getFullYear();
var blackoutDatesForYear = jsBlackoutDates.filter(function (item) {
return endsWith(item, year.toString());
})[0];
var blackoutDatesForYearMessage = [];
blackoutDatesForYearMessage.push("Tournaments cannot be scheduled on blackout dates.");
blackoutDatesForYearMessage.push("<ul>");
g$.each(blackoutDatesForYear, function (key, value) {
blackoutDatesForYearMessage.push("<li>");
blackoutDatesForYearMessage.push(new Date(value).toLocaleDateString());
blackoutDatesForYearMessage.push("</li>");
});
blackoutDatesForYearMessage.push("</ul>");
jsBlackoutDateMessage = blackoutDatesForYearMessage.join("");
}
return this.optional(element) || notBlackoutDate;
},
jsBlackoutDateMessageFunction
);
你的意思是使用'g $(this).each'關鍵字代替'g $ .each'嗎? – jmort253
沒有。在我的代碼中,我遍歷數組「blackoutDatesForYear」中的所有元素。 –
你有沒有安裝螢火蟲?您是否在錯誤控制檯中收到任何錯誤? –