Я пытаюсь проверить числовое значение, которое будет включать как целые числа, так и значения с плавающей запятой.Ниже приведена моя реализация для того же.
Схема Joi.
const numcheckschema = Joi.object().keys({
v1:Joi.number().empty("").allow(null).default(99999),
v2:Joi.number().empty("").allow(null).default(99999),
v3:Joi.number().empty("").allow(null).default(99999)
})
Объект
objnum={
v1:"15",
v2:"13.",
v3:"15"
}
objValidated = Joi.validate(objnum, numcheckschema);
console.log(objValidated);
Когда явыполнить вышеупомянутый код, я получаю ошибку
ValidationError: дочерний "v2" завершается неудачно, потому что ["v2" должен быть числом]
согласно документации, когда мыпытается передать любое числовое значение в виде строки , оно преобразует значения в число, но здесь в этом случае мое значение равно 13. , которое не может быть преобразовано вчисло и выбрасывание ошибки.
Есть ли способ, которым мы можем преобразовать это значение в 13.0