在花了将近2天的时间来研究验证为什么不起作用之后,我得到了一个结论。基本上我发现,如果我的字符串超过40个字符,验证就会失败。如果它有40个或以下,它就会起作用。所以现在我使用validator.joi.string(),但我也尝试解决这个问题:validator.joi.string().min(0).max(500)但似乎不起作用。有什么解决办法吗?
validator.joi.string()
validator.joi.string().min(0).max(500)
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();
wnavrhmk2#
我认为问题出在你的验证器启动上。如果没问题,那么下面的方法就可以了。
Joi.string().max(10)
2条答案
按热度按时间shyt4zoc1#
只是在测试。抱歉,格式错误。
但它确实工作得很好。
wnavrhmk2#
我认为问题出在你的验证器启动上。如果没问题,那么下面的方法就可以了。