Node.js joi - .number() 无法通过 0

Phi*_*p M 4 node.js joi

我有这个 joi 模式使用 .number() 作为主体参数“public”

contactSchema: Joi.object().keys({
    email: Joi.string().email().required(),
    public: Joi.number().required()
}),
Run Code Online (Sandbox Code Playgroud)

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

if(req.session.sessionEmail){
    var isPublic = 0;
  } else {
    var isPublic = 1;
  }
Run Code Online (Sandbox Code Playgroud)

... joi 说它无效。

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

if(req.session.sessionEmail){
    var isPublic = 2;
  } else {
    var isPublic = 1;
  }
Run Code Online (Sandbox Code Playgroud)

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

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

Sel*_*rim 5

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

contactSchema: Joi.object().keys({
    email: Joi.string().email().required(),
    public: Joi.number().integer().required()
}),
Run Code Online (Sandbox Code Playgroud)