如何忽略 Joi 模式中的字段之一?

All*_*uan 1 javascript joi

我的用户有以下 Joi 模式:

\n
const userRules = Joi.object({\n    name: Joi.string().pattern(new RegExp(\'^[A-Za-z\xc3\x81\xc3\x89\xc3\x8d\xc3\x93\xc3\x9a\xc3\xa1\xc3\xa9\xc3\xad\xc3\xb3\xc3\xba\xc3\xa3\xc3\xb5\xc3\x83\xc3\x95\xc3\xa2\xc3\xaa\xc3\xb4\xc3\x82\xc3\x8a\xc3\x94 ]+$\')).required(),\n    email: Joi.string().email().required(),\n    password: Joi.string().min(8).max(40).required()\n});\n
Run Code Online (Sandbox Code Playgroud)\n

但出于身份验证的目的,我只想验证email和password,忽略name。是否可以在不创建不同模式的情况下执行此操作?

\n

aRv*_*Rvi 6

这将忽略name:

const userRules = Joi.object({
    email: Joi.string().email().required(),
    password: Joi.string().min(8).max(40).required()
})
.options({allowUnknown: true});
Run Code Online (Sandbox Code Playgroud)