mpe*_*pen 5 javascript jsonschema ajv
这是我的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"
}
Run Code Online (Sandbox Code Playgroud)
这是我的数据:
{
"username": "abc",
"password": "asdfasdf",
"confirmPassword": "asdfasdf"
}
Run Code Online (Sandbox Code Playgroud)
您可以将这些复制粘贴到此在线验证器中,以查看会发生什么.
该confirmPassword字段验证失败,错误消息:
值"asdfasdf"与const不匹配.
我相信我的相对JSON指针存在问题,但我无法弄清楚正确的语法是什么.
AFAICT,1/password意思是"上升一级,然后检查password属性",但似乎并非如此.什么是正确的语法?
我正在使用的具体实现是AJV,它说它确实 支持相对JSON指针.
原来,唯一的问题是,我忘了设置$data选项来true.例如
const ajv = new Ajv({
allErrors: true,
$data: true,
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1198 次 |
| 最近记录: |