繁体   English   中英

JSON模式+相对JSON指针:如何验证“确认密码”字段

[英]JSON schema + relative JSON-pointers: how to verify “confirm password” field

这是我的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”与const不匹配。

我相信我的相对JSON指针存在问题,但我无法弄清楚正确的语法是什么。

AFAICT, 1/password意味着“上升一级,然后检查password属性”,但似乎并非如此。 什么是正确的语法?

我正在使用的具体实现是AJV,它说它确实 支持相对JSON指针

原来唯一的问题是我忘了将$data选项设置为true 例如

const ajv = new Ajv({
    allErrors: true,
    $data: true,
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM