【发布时间】:2020-02-17 13:59:51
【问题描述】:
如何验证枚举字符串?
我曾经按照这里的建议进行此操作:https://github.com/hapijs/joi/issues/1449
enum UserRole {
Admin = 'admin',
Staff = 'staff'
}
const validator = {
create: Joi.object().keys({
first_name: Joi.string().min(1),
last_name: Joi.string()
.min(1)
.required(),
password: Joi.string()
.regex(/^[\x20-\x7E]+$/)
.min(8)
.max(72)
.required(),
role: Joi.string()
.valid([UserRole.Admin, UserRole.Staff])
.optional(),
is_active: Joi.boolean().optional()
})
};
但是现在,Error: Method no longer accepts array arguments: valid
【问题讨论】:
-
嗯,它在changelog 中:“不再接受数组参数。必须将每个值作为单独的参数传递。”
.valid(UserRole.Admin, UserRole.Staff)
标签: javascript node.js typescript express