Выносим код проверки корректности введённых данных в отдельную функцию, дёргаем её при отправке, и по событию input:
function validateInput($input, regex) {
const result = regex.test($input.val());
$input
.closest('.form-group')
.removeClass('has-success has-error')
.addClass(result ? 'has-success' : 'has-error');
return result;
}
function validate() {
return [
validateInput($('#name'), /^[a-z]{2,16}$/i),
validateInput($('#message'), /^[a-z]{15,100}$/i),
].every(Boolean);
}
$('form').on({
input: validate,
submit(e) {
if (!validate()) {
e.preventDefault();
}
},
});