Проблема с вашим кодом заключается в том, что вы тестируете только первое поле, помеченное как обязательное.$(".required input")
возвращает только первый вход в вашей форме, который соответствует этому селектору.
Это проходит по всем входам в форме, которые помечены как обязательные (в соответствии с вашим селектором).Если он находит значение со значением '', он устанавливает функцию отправки для возврата false и выделяет пустые поля.Он также удаляет класс подсветки из полей, которые теперь являются действительными, но ранее были недействительными при ранней попытке отправки формы.
$("#register-form").submit(function(){
var isFormValid = true;
$(".required input").each(function(){
if ($.trim($(this).val()).length == 0){
$(this).addClass("highlight");
isFormValid = false;
}
else{
$(this).removeClass("highlight");
}
});
if (!isFormValid) alert("Please fill in all the required fields (indicated by *)");
return isFormValid;
});