Всем доброго дня.
Я наспех написал такой вот простенький валидатор:
validateNewUserInfo() {
this.errors = [];
if(!this.newUserData.name) {
this.errors.push('Укажите имя');
}
if(!this.newUserData.lastName) {
this.errors.push('Укажите фамилию');
}
if(!this.newUserData.secondName) {
this.errors.push('Укажите отчество');
}
if(!this.newUserData.phone) {
this.errors.push('Укажите телефон');
}
if(!this.newUserData.password) {
this.errors.push('Укажите пароль');
}
if(!this.newUserData.login) {
this.errors.push('Укажите логин');
}
if(!this.newUserData.email) {
this.errors.push('Укажите почту');
} else if(!this.validMail(this.newUserData.email)) {
this.errors.push('Укажите корректный адрес электронной почты');
}
if(!this.newUserData.role) {
this.errors.push('Выберите роль');
}
var data = {};
data = {'login': this.newUserData.login};
axios.post('checkfield', {params: data}).then(response => {
if(response.data !== 1) {;
this.errors.push(response.data);
}
});
if(!this.errors.length) {
return true;
}
},
В конце проверяется кол-во элементов в массиве errors и если их там нет, то возвращается true. Однако если через axios мне в этот самый массив попадет элемент (означает, что такой логин существует), то true уже вернется. Как мне с этой проблемой можно справиться?
Заранее спасибо