javascript JS Joi验证在字符串长度上失败

kb5ga3dv  于 2023-04-19  发布在  Java
关注(0)|答案(2)|浏览(107)

在花了将近2天的时间来研究验证为什么不起作用之后,我得到了一个结论。基本上我发现,如果我的字符串超过40个字符,验证就会失败。如果它有40个或以下,它就会起作用。
所以现在我使用validator.joi.string(),但我也尝试解决这个问题:validator.joi.string().min(0).max(500)但似乎不起作用。
有什么解决办法吗?

shyt4zoc

shyt4zoc1#

只是在测试。抱歉,格式错误。
但它确实工作得很好。

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();
wnavrhmk

wnavrhmk2#

我认为问题出在你的验证器启动上。如果没问题,那么下面的方法就可以了。

Joi.string().max(10)

相关问题