Я начал использовать AJV (https://github.com/epoberezkin/ajv) вместе с ошибками AJV (https://www.npmjs.com/package/ajv-errors)), и я пытаюсь выяснить, как я могу настроить ошибки для достижения некоторого формата, к которому я привык.
Я проверяю входные данные JSON из регистрационной формы. Мой старый код возвращал ошибки в таком формате:
{
"firstname": "Firstname is required field",
"lastname": "Lastname must be longer than 0 chars",
"...":...
}
Я изменил свою старую валидацию (я просто проверял поле за полем с Validator.JS) на валидатор AJV, потому что мне нужно блокировать, когда больше реквизитов, чем требуется (для защиты базы данных).
Моя проблема, когда я использую эту схему:
{
type: "object",
properties: {
firstname: {
type: "string",
},
lastname: {
type: "string",
},
},
additionalProperties: false,
required: ["firstname", "lastname"],
"errorMessage": {
"properties": {
firstname: "Bad format"
},
"required": {
firstname: "This is shown in errors but does not have dataPath"
}
}
}
А не заполнять например firstname
поле. Я получаю сообщение об ошибке, но без dataPath, поэтому я не могу связать это сообщение об ошибке с правильным полем для генерации ожидаемого ответа.
Есть ли какое-то решение?