O wiele, wiele bardziej elegancki kod:
$('form').submit(function () {
var messages = {
name: "Pole imię jest wymagane.",
surname: "Pole nazwisko jest wymagane.",
// pozostałe pola i komunikaty na tej samej zasadzie
},
errors = [];
$.each(messages, function (id, message) {
if ($("#" + id).val() === "") {
errors.push(message);
}
});
if (!$('#rules').is(':checked')) {
errors.push("Akceptacja regulaminu jest wymagana.");
}
if (errors.length > 0) {
$('#kumunikat_walidacji')
.html(errors.join("<br>"))
.fadeIn();
return false;
}
});
Uzupełnij pozostałe pola według schematu.
P.S. Po co ustawiałeś komunikat przy wysyłaniu prawidłowo wypełnionego formularza? Przecież on się przeładowuje od razu (wysyła).
EDIT
Jeśli wszystkie pola mają mieć komunikat "Pole X jest wymagane", to równie dobrze możesz jeszcze uprościć i w obiekcie z komunikatami przekazywać tylko nazwę pola, np. name: "imię", a resztę komunikatu dopisywać dopiero przy wrzucaniu go do tablicy z błędami.