Angular异步验证器无法正常工作

时间:2019-04-05 09:46:43

标签: angular angular-validation

在我的组件中,我试图更改密码,并且在表单中,我要求用户输入旧密码,如果该密码与DB中的密码匹配,则允许他/她更改密码。我正在尝试使用异步验证器来验证密码,该验证器会告诉您旧密码是否正确,但在我的情况下,无论输入的密码是对还是错,异步验证器始终为false。下面给出的是我的异步验证器功能

   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});
  }
})

})

0 个答案:

没有答案