Dji*_*iaw 5 jsonschema node.js json-schema-validator
我有一个像这样的json架构:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Operation",
"description": "The schema of an operation",
"type": "object",
"properties": {
"id":{
"description": "Unique identifier of the service",
"type": "string"
},
"description":{
"type": "string"
},
"dateDebut":{
"type": "string",
"format": "date-time"
},
"dateFin":{
"type": "string",
"format": "date-time"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么能在我的架构中说dateFin必须大于dateDebut?
小智 13
该库支持它 https://github.com/epoberezkin/ajv#features
var ajv = Ajv({v5:true,allErrors: true})
{
"startDate": {
"format": "date",
"message": "Please Enter correct date format YYYY-MM-DD"
},
"endDate": {
"format": "date",
"message": "Please Enter correct date format YYYY-MM-DD",
"formatMinimum": {
"$data": "1/startDate"
}
}
}
Run Code Online (Sandbox Code Playgroud)
您不能在JSON-Schema级别上执行此操作。您必须针对您的Operation对象分别进行验证。通常,JSON-Schema仅提供一种“格式正确”的完整性检查:关于属性是数字,日期还是与正则表达式匹配的字符串;或关于具有某些嵌套属性结构的对象。更高级的业务规则(例如您示例中的规则)应在其他位置进行控制。
| 归档时间: |
|
| 查看次数: |
2933 次 |
| 最近记录: |