Вот моя схема JSON:
{
"required": [
"username",
"password",
"confirmPassword"
],
"properties": {
"username": {
"minLength": 3,
"type": "string"
},
"password": {
"minLength": 6,
"type": "string"
},
"confirmPassword": {
"const": {
"$data": "1/password"
},
"type": "string"
}
},
"type": "object"
}
Вот мои данные:
{
"username": "abc",
"password": "asdfasdf",
"confirmPassword": "asdfasdf"
}
Вы можете скопировать и вставить их в этот онлайн-валидатор, чтобы посмотреть, что произойдет.
Поле confirmPassword
не проходит проверку с сообщением об ошибке:
Значение asdfasdf не соответствует константе.
Я считаю, что возникла проблема с моим относительным указателем JSON. но я не могу понять, каков правильный синтаксис.
AFAICT, 1/password
означает «подняться на один уровень, а затем проверить свойство password
», но, похоже, это не так. Какой правильный синтаксис?
Конкретная реализация, которую я использую, — это AJV, в котором говорится, что поддерживает поддерживает относительные JSON-указатели.