Whi*_*her 7 node.js hapijs joi
如何检查密码和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
}
}
Run Code Online (Sandbox Code Playgroud)
Ger*_*osi 25
你可以用Joi.any().valid()
与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' } } })
Run Code Online (Sandbox Code Playgroud)
Tha*_*gLe 17
如果您收到"language" is not allowed
错误消息。哦,你来对地方了。
现在,2020 年和 Joi v17.2.1,我们可以使用Joi.any().equal()
or Joi.any().valid()
withJoi.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' })
Run Code Online (Sandbox Code Playgroud)
或使用 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'} })
Run Code Online (Sandbox Code Playgroud)
ValidationError: "Confirm password" does not match
如果不匹配,将显示验证错误。
并显示ValidationError: "Confirm password" is required
你是否没有通过password_confirmation
。
希望对有些人有用。
归档时间: |
|
查看次数: |
4855 次 |
最近记录: |