Node.js joi - .number() 未能通过 0

Node.js joi - .number() fails to pas 0

我有一个使用 .number() 作为主体参数的 joi 模式 'public'

contactSchema: Joi.object().keys({
    email: Joi.string().email().required(),
    public: Joi.number().required()
}),

如果在某些情况下我允许参数为 0 ...

if(req.session.sessionEmail){
    var isPublic = 0;
  } else {
    var isPublic = 1;
  }

...joi 说它无效。

如果我不通过 0 ...一切都好吗?

if(req.session.sessionEmail){
    var isPublic = 2;
  } else {
    var isPublic = 1;
  }

为什么在0的情况下会失败?

https://github.com/hapijs/joi/blob/master/API.md#number---inherits-from-any

试试这个:Joi.number().integer()

contactSchema: Joi.object().keys({
    email: Joi.string().email().required(),
    public: Joi.number().integer().required()
}),

请尝试

userId: joi.number().integer().min(1).required()