无法通过JOI设置所需的密码
在我的Node应用程序中,我使用@hapi/joi
包进行验证。我有以下代码:
export function validateUser(user) {
const schema = Joi.object({
firstName: Joi.string().min(1).max(20).required(),
lastName: Joi.string().min(1).max(20).required(),
email: Joi.string().email().max(50).required(),
mobile: Joi.string().min(8).max(12).required(),
password: Joi.string().min(8).max(16).required(),
confirmPassword: Joi.ref('password'),
});
return schema.validate(user);
}
但是不会检查是否需要confirmPassword
。我尝试了Joi.ref('password').required()
。但这给了我一个错误。我该如何解决?
您可以将Joi.any()。valid()与Joi.ref()一起使用:
confirmPassword: Joi.any().valid(Joi.ref('password')).required().options({ language: { any: { allowOnly: 'must match password' } } })
无法通过JOI设置所需的密码
在我的Node应用程序中,我使用@hapi/joi
包进行验证。我有以下代码:
export function validateUser(user) {
const schema = Joi.object({
firstName: Joi.string().min(1).max(20).required(),
lastName: Joi.string().min(1).max(20).required(),
email: Joi.string().email().max(50).required(),
mobile: Joi.string().min(8).max(12).required(),
password: Joi.string().min(8).max(16).required(),
confirmPassword: Joi.ref('password'),
});
return schema.validate(user);
}
但是不会检查是否需要confirmPassword
。我尝试了Joi.ref('password').required()
。但这给了我一个错误。我该如何解决?
您可以将Joi.any()。valid()与Joi.ref()一起使用:
confirmPassword: Joi.any().valid(Joi.ref('password')).required().options({ language: { any: { allowOnly: 'must match password' } } })