Таким образом, если я заполняю имя и фамилию в этой форме, но у вас нет электронной почты и пароля, вы увидите ее и напишите вот так:
" Du mangler adgangskodeprofilbillede "
Я бы хотел, чтобы ремешок делал это так:
" Du mangler adgangskode, profilbillede "
Также может быть, что это было как первое, так и последнее имя как недостающее, но все равно придется делать то же самое.
но если я вообще ничего не написал в контенте, так что он вполне может вернуться и написать его красиво, т.е.
" Du mangler Email, Пароль, Форнавн, Efternavn, Profilbillede "
Я написал некоторые из них на датском языке, поэтому мы можем видеть только ошибку
$(function () {
var $opretbruger = $('form[name="opretbruger"]'),
$usr = $("#email"),
$pwd = $("#pass1"),
$navn = $("#fornavn"),
$efter = $("#efternavn"),
$pb = $("#pb");
$opretbruger.on("submit", function (event) {
var msg = "Du mangler ",
usr = ($usr.val().trim() !== ""),
pwd = ($pwd.val().trim() !== ""),
navn = ($navn.val().trim() !== ""),
efter = ($efter.val().trim() !== ""),
pb = ($efter.val().trim() !== "");
msg += !usr ? "E-mail" : "";
msg += !usr && !pwd ? ", " : "";
msg += !pwd ? "kodeord" : "";
msg += !usr && !pwd && !navn ? ", " : "";
msg += !navn ? "Fornavn" : "";
msg += !usr && !pwd && !navn && !efter ? ", " : "";
msg += !efter ? "Efternavn" : "";
msg += !usr && !pwd && !navn && !efter && !pb ? ", " : "";
msg += !pb ? "Profilbillede" : "";
var valid = pwd && usr && navn && efter;
if (!valid) {
alert(msg);
}
return valid;
});
});
Eidt
$(function () {
var $opretbruger = $('form[name="opretbruger"]'),
$usr = $("#email"),
$pwd = $("#pass1"),
$navn = $("#fornavn"),
$efter = $("#efternavn"),
$pb = $("#pb");
$opretbruger.on("submit", function (event) {
var errors = [],
valid = true,
usr = ($usr.val().trim() !== ""),
pwd = ($pwd.val().trim() !== ""),
navn = ($navn.val().trim() !== ""),
efter = ($efter.val().trim() !== ""),
pb = ($efter.val().trim() !== "");
if (!usr) errors.push("E-mail");
if (!pwd) errors.push ("kodeord");
if (!navn) errors.push("Fornavn");
if (!efter) errors.push ("Efternavn");
if (!pb) errors.push("Profilbillede");
if (errors.length) {
var last = errors.length>1 ? ((errors.length>2) ? "," : "") + " & " + errors.pop() : "";
var "Du mangler " + msg = errors.join(", ") + last;
valid = false;
alert(msg);
}
return valid;
});
});
Что есть со всеми добавлением строки, просто используйте массив с присоединением
$opretbruger.on("submit", function (event) {
var errors = [],
valid = true,
usr = ($usr.val().trim() !== ""),
pwd = ($pwd.val().trim() !== ""),
navn = ($navn.val().trim() !== ""),
efter = ($efter.val().trim() !== ""),
pb = ($efter.val().trim() !== "");
if (!usr) errors.push("E-mail");
if (!pwd) errors.push ("kodeord");
/* rest of checks here */
if (errors.length) {
var msg = "Du mangler " + errors.join(", ");
valid = false;
alert(msg);
}
return valid;
});
Если вы хотите сделать вывод немного более причудливым, добавив "&" для последнего элемента, что-то вроде этого будет работать
if (errors.length) {
var last = errors.length>1 ? ((errors.length>2) ? "," : "") + " & " + errors.pop() : "";
var msg = "Du mangler " + errors.join(", ") + last;
valid = false;
alert(msg);
}
msg += ...
с этим.