Loading...
JavaScript | jQuery/validform
Подскажите , как реализовать чтобы под инпутами сообщения выводились ?

$(function() {
$("form[name='test']").validate({
rules: {
username: {
required: true,
maxlength: 32
},
email: "required",
password: "required"
},

messages: {
username: {
required: "лалалаа",
maxlength: jQuery.validator.format("Имя пользователя должно содержать не более {0} символов.")
},
email: "лалал",
password: "лалалал"
},

submitHandler: function(form) {
form.submit();
}
});
});


________
посл. ред. 30.12.2023 в 02:28; всего 3 раз(а); by SNEG

$(function() {
$("form[name='test']").validate({
rules: {
username: {
required: true,
maxlength: 32
},
email: "required",
password: "required"
},

messages: {
username: {
required: "лалалаа",
maxlength: jQuery.validator.format("Имя пользователя должно содержать не более {0} символов.")
},
email: "лалал",
password: "лалалал"
},

errorPlacement: function(error, element) {
error.insertAfter(element);
},

submitHandler: function(form) {
form.submit();
}
});
});

Xaori69otori , не помогло .gyy.
SNEG (30 дек 2023, в 3:08)
Xaori69otori , не помогло .gyy.
Дай ссылку на сайт)
SNEG , делаешь div с определенным id и туда пихаешь свое сообщение
Avenax (30 дек 2023, в 9:31)
SNEG , делаешь div с определенным id и туда пихаешь свое сообщение
Сделал по твоему совету, получил все 3 сообщения в одном блоке, а мне нужно чтобы каждое сообщение выводилось под полем которому оно соответствует. Просто errorElement : 'div', ведёт себя очень странно, обернул один input все остальные также без <div> повели себя как обернутые


errorElement : 'div',
errorLabelContainer: '.errorTxt'

________
посл. ред. 01.01.2024 в 23:25; всего 1 раз(а); by SNEG
SNEG , вместо errorPlacement попробуй использовать класс ошибок

$(function() {
$("form[name='test']").validate({
rules: {
username: {
required: true,
maxlength: 32
},
email: "required",
password: "required"
},

messages: {
username: {
required: "лалалаа",
maxlength: jQuery.validator.format("Имя пользователя должно содержать не более {0} символов.")
},
email: "лалал",
password: "лалалал"
},

errorClass: "error",
// Класс "error" к элементу с ошибкой

submitHandler: function(form) {
form.submit();
}
});
});


После этого добавь стиль для .error в свой CSS

.error {
color: red; /* или любой другой цвет */
margin-top: 5px; /* или свой параметр */
}
Denis Legran , errorPlacement указывает что ошибка должна выводиться после элемента можно как до и после настраивать, что-то я не уверен что это решение заменять.
SNEG (2 янв 2024, в 0:06)
Denis Legran , errorPlacement указывает что ошибка должна выводиться после элемента можно как до и после настраивать, что-то я не уверен что это решение заменять.
Для указания точного места можно использовать конструкцию из советов выше

$(function() {
$("form[name='test']").validate({
rules: {
username: {
required: true,
maxlength: 32
},
email: "required",
password: "required"
},

messages: {
username: {
required: "лалалаа",
maxlength: jQuery.validator.format("Имя пользователя должно содержать не более {0} символов.")
},
email: "лалал",
password: "лалалал"
},

errorPlacement: function(error, element) {
if (element.attr("name") === "username") {
error.insertAfter("#usernameError"); // #usernameError - ID элемента для размещения ошибки
} else {
error.insertAfter(element);
}
},

submitHandler: function(form) {
form.submit();
}
});
});



И по совету Avenaxa оберни div с уникальным id по такому примеру

<input type="text" name="username" id="username" />
<div id="usernameError"></div>
Denis Legran , для каждого поля отдельно прописывать ? Что-то вата выходит какая-то если это пароль теперь создавать #passwordError ? 7 полей - 7 условий , всего то надо под input, это х.... какая-то выходит как по мне

if (element.attr("name") === "password") {
error.insertAfter("#passwordError");
}


________
посл. ред. 02.01.2024 в 00:46; всего 5 раз(а); by SNEG
Онлайн: 1
Время:
Gen. 0.1303
(c) ByMAS.RU 2010-2025