Проверка Hapi / Joi для float ()

У меня есть следующий код 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;

Проверка выдает ошибку:

Error: the value of free must be an integer

Я хотел бы знать, что делаю не так. Я использую текущие версии Hapi и Joi.


person user2870918    schedule 11.10.2013    source источник
comment
Взгляните на: github.com/spumko/joi/issues/112, надеюсь это скоро будет исправлено;)   -  person Kim    schedule 31.10.2013


Ответы (1)


Сейчас это скорее устарело, но в случае, если с этим случаются другие, теперь синтаксис (принимает все числа, включая числа с плавающей запятой):

Joi.number();

или, если вы хотите, чтобы это потребовалось:

Joi.number().required();

Также см. документы.

person mikl    schedule 02.05.2014
comment
Я бы также использовал strict() - medium.com/east-pole/surprised-by- joi-35a3558eda30 - person Wilfred Springer; 05.07.2019