JS Joi 验证字符串长度失败

pau*_*dru 1 javascript validation joi

在花了近 2 天时间调查验证不起作用的原因后,我明白了一点。基本上我发现如果我的字符串超过 40 个字符,验证就会失败。如果它有 40 或更低,它就可以工作。

所以现在我正在使用validator.joi.string(),但我也尝试用 : 来解决这个问题,validator.joi.string().min(0).max(500)但它似乎不起作用。

有什么办法解决这个问题吗?

xMa*_*ank 6

刚刚在测试。抱歉格式错误。

但它确实工作得很好。

const Joi = require('@hapi/joi');

const schema = Joi.object({
    username: Joi.string()
        .min(3)
        .max(100)
        .required(),
})


schema.validate({ username: 'abc' });
// -> { value: { username: 'abc' } }

schema.validate({});
// -> { value: {}, error: '"username" is required' }

// Also -

async function run(){
  const value = await schema.validateAsync({ username: 'abcedeedsdsd sfdfghgdf sgfdghsfdsfdjgsfdgs shgdfshgdbshgdf sdhghsjfgfkhgj' });
  console.log(value)
}

run();
Run Code Online (Sandbox Code Playgroud)