Это свойство, которое вы предоставляете, называется stripUnknown , которое удаляет поля, которые не были указаны при создании схемы, есть ли что-то подобное, но которое удаляет недопустимые поля и возвращает допустимые, возможно, дополнительно с ошибками. Пример кода
Например
var joi = require("@hapi/joi")
let s = joi.object({
name: joi.string(),
username: joi.string()
})
console.log(
s.validate({
name: 32,
age: 43
}, {
stripUnknown: true,
convert: true
})
)
Вместо предупреждения о том, что имя недопустимо, он может вернуть значение с удаленным именем, поскольку оно недопустимо.