繁体   English   中英

我如何使用 Joi 有效功能并允许小写和大写字母

[英]How can i use Joi valid function and allow both lowercase and uppercase letters

大家好,感谢您的时间。 我正在尝试创建一个验证中间件。 我正在使用 Joi 来验证我从请求正文收到的信息。

我只想允许以下字符串,例如:['a','b','c'] 但也允许大写和小写实例。 (例如“A”也是有效的);

我试图做的:

const schema = Joi.object().keys({
   letter: Joi.string().valid('a','b','c').insensitive()
})

schema.validate({letter: 'B'}) //return error but i want it to return 'B'

我也尝试过使用 convert 的小写和大写函数的每种组合,但我无法使其工作。 我希望例如 {letter: 'A'} 会变成有效的。

有没有办法将有效函数与不敏感结合起来,以便大写和小写都被接受?

感谢您的时间。

我想它工作正常。 如果您运行以下代码,您将获得{"letter": "b"}

const Joi = require("@hapi/joi");
const schema = Joi.object().keys({
  "letter": Joi.string().valid("a", "b", "c").insensitive()
});

console.log(schema.validate({"letter": "B"}, {"convert": true}));

使用 convert false,您将获得大写的 B。

你可以在这里看到正在运行的代码 - https://repl.it/repls/HarmfulEvenPhases

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM