Не могу понять, почему не передается через замыкание переменная в функцию и обратно? Необходимо передать переменную validate в первую функцию, там ее значение должно измениться на false и потом она с этим значением должна передаться во вторую функцию. Но не передается, подскажите, почему?
var validate = true;
$('.login').on('blur', function(validate) {
const formAuthInputLogin = document.forms.formAuth.elements.login.value;
const errLogin = $('.errLogin');
if (formAuthInputLogin.length > 0) {
const patternLogin = /^[a-z0-9]{4,20}$/;
if (formAuthInputLogin.search(patternLogin) != 0) {
errLogin.addClass('visible');
var errLoginMessage = 'Логин может содержать только латинские буквы или цифры';
validate = false;
} else {
errLogin.removeClass('visible');
}
}
errLogin.text(errLoginMessage);
return validate;
});
$('.submit').on('click', function(e, validate) {
if (validate) {
alert('Форма успешно отправлена!');
} else {
e.preventDefault();
alert('Форма содержит ошибки!')
}
});