@likhan

Как сделать правильную валидацию пароля в js?

Есть класс User и в нем есть метод Валидации Пароля.Если пароль больше или равно 6, то выводится правильно, если не правильно, то неправильно.Однако при запуске страницу захожу в консоль и там сразу стоит неправильно, даже написав по валидации, все равно неправильно.Что делать?
class User{
    constructor(login, password){
      this.login=login;
      this.password=password;
    }
    ValidatePassword(){
        if(this.password.lenght >= 6){
            return true;
        }
        else{
            return false;
        }
    }
}
let knp = document.querySelector(".log");
let knp2 = document.querySelector(".pas");
let q = knp.value;
let w = knp2.value;
const firstUser = new User(q, w);
console.log(firstUser.ValidatePassword());
  • Вопрос задан
  • 581 просмотр
Пригласить эксперта
Ответы на вопрос 2
Seasle
@Seasle Куратор тега JavaScript
На инпуты надо бы добавить событие input и обновлять данные у класса, а после валидировать. Только в обработчиках каждый раз новый экземпляр класса делать не надо, а то помрет браузер так.
Ответ написан
Комментировать
@AleksRap
Рекомендую создать отдельный класс Validation, где опишете все методы валидации. Это удобно тем, что валидировать данные нужно не только у юзеров. Если не выделить эти методы в отдельный класс, то будете повторять себя, либо использовать класс юзер не по назначению.

Что касается самого вопроса. Просто в конструкторе заведите переменную this.touched: false и после фокуса поменяйте ее на true. И валидацию применяйте только к элементам у которых touched равно true
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы