В моем компоненте я пытаюсь изменить пароль и в своей форме я спрашиваю у пользователя старый пароль, совпадает ли этот пароль с паролем в БД, ему / ей разрешено менять пароль.Я пытаюсь подтвердить пароль, используя асинхронный валидатор, который сообщает, является ли старый пароль истинным или нет, но в моем случае асинхронный валидатор всегда ложен, является ли введенный пароль правильным или неправильным.Ниже дана моя функция асинхронного валидатора
passwordCheck(control : AbstractControl)
{
return this.usrservice.check_password(control.value,this.logged_in_usr_details['password']).map(res=>{
return res['matched']?null:{invalidPassword:true}
})
}
Ниже приведен код моего сервисного файла
check_password(pass,oldpass)
{
const params= new HttpParams().set('pass',pass).set('old_pass',oldpass);
return this.http.get(environment.api_url+'/users/compare_pass',{params:params});
}
Ниже приведен код моего внутреннего кода Nodejs
router.get('/compare_pass/',(req,res)=>{
const queryParams = req.query;
const pass=queryParams.pass;
const old_pass=queryParams.old_pass;
bcrypt.compare(pass,old_pass, function(err, response) {
if(response===true)
{
res.send({matched:true});
}
else {
res.send({notmatched:true});
}
})
})