Проблема в том, что вы всегда возвращаете false
из этого.Вы должны возвращать false только тогда, когда форма не должна быть опубликована.
Очень простая система проверки, основанная на вашем пересмотренном вопросе.У вас есть переменная, изначально установленная в true (все в порядке), если только не произошла ошибка.Возвращение true
при проверке формы приведет к отправке формы.
$("#submit-signin-button").click(function() {
var isValid = true;
if(!$.trim($("#foo").val()){
$(".error-message-uname").show();
isValid = false;
}
if(!$.trim($("#bar").val())){
$(".error-message-bar").show();
isValid = false;
}
return isValid;
}
Для простых вещей это прекрасно, но есть несколько проверочных плагинов jQuery (, как этот )что вы могли бы использовать.
В качестве подсказки (как вы знаете), пустая строка считается значением falsey
в JavaScript.Таким образом, вы можете заменить $.trim($("#bar").val() === ""
на !$.trim($("#bar").val()
.