我已经使用joi添加了一些参数的验证,我需要验证点参数以接受小数。
这是我的验证码
const userSchema = Joi.object({
point: Joi.number().max(150).required(),
});
在上面的代码中,我想接受数字在数字位置的十进制数。任何人都知道编写代码接受小数。
答案 0 :(得分:0)
从Joi long time ago中删除了对验证浮点数的支持,因为它本身就没用了。
JavaScript中的数字始终存储为双精度浮点数,因此无论有效负载是否包含2
或2.0000000
,在将值赋给变量时,JavaScript都会看到相同的内容。 / p>
Joi有一个precision()
方法,您可以使用它来指定允许或不会有用的最大小数位数。
无论出于何种原因,您特别需要浮点数,您需要使用.extend()
创建自己的自定义验证,或者接受有效负载中的整数并执行某种投射服务器端。