How do I check that password and password_confirmation are the same ?
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
}
}
The password must contain one or more uppercase characters. The password must contain one or more lowercase characters. The password must contain one or more numeric values. The password must contain one or more special characters.
Hapi Joi is an object schema description language and validator for JavaScript objects. With Hapi Joi, we create blueprints or schemas for JavaScript objects (an object that stores information) to ensure validation of key information.
If you got "language" is not allowed
error message. Oh, you've come to the right place.
Now, 2020 and with Joi v17.2.1 we can use Joi.any().equal()
or Joi.any().valid()
with Joi.ref()
and custom message with 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' })
Or use 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'} })
Validate error will show ValidationError: "Confirm password" does not match
if not match.
And show ValidationError: "Confirm password" is required
if you have not pass password_confirmation
.
Hope useful to someguys.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With