hapi route joi验证密码确认
hapi route joi validation of password confirmation
如何检查密码和 password_confirmation 是否相同?
var Joi = require('joi'),
S = Joi.string().required().min(3).max(15);
exports.create = {
payload: {
username: S,
email: Joi.string().email(),
password: S,
password_confirmation: S
}
}
您可以使用 Joi.any().valid()
with Joi.ref()
:
password: Joi.string().min(3).max(15).required(),
password_confirmation: Joi.any().valid(Joi.ref('password')).required().options({ language: { any: { allowOnly: 'must match password' } } })
如果您收到 "language" is not allowed
错误消息。哦,你来对地方了。
现在,2020 年和 Joi v17.2.1 我们可以使用 Joi.any().equal()
或 Joi.any().valid()
和 Joi.ref()
以及自定义消息 messages()
:
password: Joi.string().min(3).max(15).required().label('Password'),
password_confirmation: Joi.any().equal(Joi.ref('password'))
.required()
.label('Confirm password')
.messages({ 'any.only': '{{#label}} does not match' })
或使用options()
password: Joi.string().min(3).max(15).required().label('Password'),
password_confirmation: Joi.any().equal(Joi.ref('password'))
.required()
.label('Confirm password')
.options({ messages: { 'any.only': '{{#label}} does not match'} })
如果不匹配,验证错误将显示 ValidationError: "Confirm password" does not match
。
如果没有通过 password_confirmation
.
则显示 ValidationError: "Confirm password" is required
希望对大家有用。
如何检查密码和 password_confirmation 是否相同?
var Joi = require('joi'),
S = Joi.string().required().min(3).max(15);
exports.create = {
payload: {
username: S,
email: Joi.string().email(),
password: S,
password_confirmation: S
}
}
您可以使用 Joi.any().valid()
with Joi.ref()
:
password: Joi.string().min(3).max(15).required(),
password_confirmation: Joi.any().valid(Joi.ref('password')).required().options({ language: { any: { allowOnly: 'must match password' } } })
如果您收到 "language" is not allowed
错误消息。哦,你来对地方了。
现在,2020 年和 Joi v17.2.1 我们可以使用 Joi.any().equal()
或 Joi.any().valid()
和 Joi.ref()
以及自定义消息 messages()
:
password: Joi.string().min(3).max(15).required().label('Password'),
password_confirmation: Joi.any().equal(Joi.ref('password'))
.required()
.label('Confirm password')
.messages({ 'any.only': '{{#label}} does not match' })
或使用options()
password: Joi.string().min(3).max(15).required().label('Password'),
password_confirmation: Joi.any().equal(Joi.ref('password'))
.required()
.label('Confirm password')
.options({ messages: { 'any.only': '{{#label}} does not match'} })
如果不匹配,验证错误将显示 ValidationError: "Confirm password" does not match
。
如果没有通过 password_confirmation
.
ValidationError: "Confirm password" is required
希望对大家有用。