Будет получен атрибут data-message элемента формы:
$("#orders_csv").data("message")
Работает с jQuery 1.43 и выше.Смотрите документацию jQuery здесь .Поместите это в любой механизм ответа, который у вас есть для проверки (оповещение, всплывающее окно jQuery UI и т. Д.).
Похоже, вы используете jQuery Tools для проверки.Чтобы сделать то, что вы хотите, чтобы появилась правильная подсказка, вам нужно добавить подпрограмму проверки в валидатор.Вот как я считаю, это должно произойти:
$.tools.validator.fn("#dealers_csv, #orders_csv", function(element, value) {
var correctFilename = (element.attr("id") === "dealers_csv" ? "mcust.csv" : "morders.csv"),
$element = $(element),
filename = value.split("\\").pop();
if (filename !== correctFilename) {
return $element.attr("data-message");
} else {
return true;
}
});
Добавьте эту процедуру проверки после вашего звонка на $("#upload-form").validator()
.И удалите большинство обработчиков событий .change()
, оставив только следующее:
$("input#dealers_csv, input#orders_csv").on("change", function() {
$('#loader').hide();
});
Вот полный код:
$(document).ready(function () {
$("#upload-form").validator({
position: 'top center',
offset: [-12, 40],
relative: true,
accept: "csv",
message: '<div><em></em></div>'
});
// the custom validation routine, checking only those elements with the ids in the selector
$.tools.validator.fn("#dealers_csv, #orders_csv", function(element, value) {
var correctFilename = (element.attr("id") === "dealers_csv" ? "mcust.csv" : "morders.csv"),
$element = $(element),
filename = value.split("\\").pop();
if (filename !== correctFilename) {
return $element.attr("data-message");
} else {
return true;
}
});
// new, simplified event handler, to clear the "#loader" element when there's a change to the upload inputs
$("#dealers_csv, #orders_csv").on("change", function() {
$('#loader').hide();
});
});
Принципиальное отличие этого кода от вашего оригинала заключается в том, чтопри неудачной проверке входных данных загрузки значение в них не сбрасывается;твоя предыдущая версия сделала.Я думал, что очистка ввода была своего рода противоположна валидации, и чувствовал себя неправильно, вставляя ее в процедуру валидации.