国によって異なる正規表現で vat 番号を検証する必要があるシナリオがあります。したがって、フィールドlanguage
がフィールドでSE
この正規表現を使用したいのですが、フィールドがこれを使用したい.. Joiのwhen()を使用できると思ったのですが、まったく機能していないようです。どうすればこれを達成できるか知っている人はいますか?/^\d{6}-\d{4}$/
company.vatNo
language
NO
/^\d{9}(MVA)?$/
ここに私が検証する私のルートがあります:
module.exports = {
method: 'POST',
path: '/signup/{partner}',
handler: createPartner,
config: {
validate: {
payload: {
language: Joi.string().allow(config.supportedLanguages).required(),
company: {
vatNo: {
Joi
.when('language', {
is: 'SE',
then: Joi.string().regex(/^\d{6}-\d{4}$/).required()
})
.when('language', {
is: 'NO',
then: Joi.string().regex(/^\d{9}(MVA)?$/).required()
})
.when('language', {
is: 'FI',
then: Joi.string().regex(/^\d{7}-\d{1}$/).required()
})
}
}
}
}
}
ありがとう