После публикации jQuery моих данных формы я возвращаю объект JSON.Если форма недействительна, статус устанавливается как «ошибка», и сообщения добавляются там, где именно произошла ошибка.
Это мой ответ (получен из консоли Firebug)
"status":"error",
"messages":{
"email":{
"emailAddressInvalidFormat":"'asd' is no valid email address in the basic format local-part@hostname"
}
}
Вставка сообщения, когда форма была действительной, работает отлично.Теперь я использую этот код для добавления сообщений об ошибках при сбое формы:
$.each(data.messages, function(element, errors) {
var ul = $("<ul>").attr("class", "errors");
$.each(errors, function(name, message) {
ul.append($("<li>").val(message));
});
$("#" + element).after(ul);
});
Я заметил, что элемент и сообщение в порядке (проверено с помощью console.log()
).Я думаю, что это идет не так из-за (второго) цикла, потому что в других местах этот похожий кусок кода работает нормально.Я уверен, что HTML не вставлен в DOM, я проверял это и с Firebug.