Hapi/Joi验证float()

use*_*918 3 javascript validation node.js hapijs

我有以下JavaScript代码来测试Hapi/Joi验证函数:

var Joi = require('joi');
var schema = { free: Joi.Types.Number().float() };
var value = { free: 3.3333 };
var err = Joi.validate(value, schema); 

//err is set if value fails to validate against the schema
if (err) throw err;
Run Code Online (Sandbox Code Playgroud)

验证会引发错误:

Error: the value of free must be an integer
Run Code Online (Sandbox Code Playgroud)

我想知道我做错了什么.我正在使用当前版本的Hapi和Joi.

mik*_*ikl 14

现在这已经过时了,但是如果其他人发生这种情况,现在的语法是(接受所有数字,包括浮点数):

Joi.number();
Run Code Online (Sandbox Code Playgroud)

或者,如果您想要它:

Joi.number().required();
Run Code Online (Sandbox Code Playgroud)

另外,请参阅文档.