我如何使用joi库比较两个字符串的相同值

问题描述

我已经写了忘记密码的代码,然后我想使用joi库验证密码并再次输入密码。我怎样才能做到这一点。 我已经编写了这段代码,但是它抛出错误joi.string.valid不是一个函数

在这里使用joi库作为

 const schema=joi.object({
  pass:joi.string().required().label('Please Fill Password'),password:joi.string().min(8).required().label('Password must be 8 characters long'),pass2:joi.string().required().label('Please Re-enter Password'),password2:joi.string.valid(joi.ref('password')).label('passwords don\'t match'),})
  let result=schema.validate({pass:pass,password:pass,pass2:pass2,password2:pass2});
  if(result.error){
      console.log('fd'+result.error);
      response.send(result.error.details[0].context.label);    
  }
   

解决方法

您的代码中有错字。您忘记了属性()string()上的password2

// missing ()
password2:joi.string.valid(joi.ref('password')).label('passwords don\'t match')
// added () 
password2:joi.string().valid(joi.ref('password')).label('passwords don\'t match')