@aboveyou00/json-schema-validator 中文文档教程
@aboveyou00/json-schema-validator
这个包使用 tv4 JSON Schema 验证器,以及 tv4-formats 提供的格式。 它加载所有引用的 互联网上的 JSON 模式来引导 tv4。
Usage
Validator.simple('http://json-schema.org/geo', function (error, v) {
assert.ifError(error);
assert(v.validate(
{latitude: 53.0, longitude: 43.0},
'http://json-schema.org/geo'
).valid);
done();
});
CLI
echo '{"json": "to validate"}' | json-validate http://some.type.id/
API
构造函数:
v = new Validator(schemaUris);
schemaUris:要加载的架构 Uris 数组(在单个 URI 的情况下可以是字符串)
——
v.fetchSchemas(schemaLoader, callback)
使用 schemaLoader(url, callback)
通过网络加载架构并添加到 tv4 验证器。 所有 URI-s 到 加载:在构造函数中给出,并在每个加载的模式中由“$ref”子句引用。 圆 参考得到解决。
--
v.validate(json, typeId)
根据 typeId
定义的模式验证 json
可能的类型 ID 是:
- http://json-schema.org/geo
- http://some.site.somewhere/entry-schema#/definitions/diskUUID
validate()
返回 tv4 验证 结果对象。 它会抛出 如果尚未加载(获取)传递的 typeId
的架构,则 Error
。
--
Validator.simple(uris, callback)
只是使用 request
作为模式加载器来启动验证器的快捷方式
@aboveyou00/json-schema-validator
This package uses the tv4 JSON Schema validator, and the formats provided by the tv4-formats. It loads all the referenced JSON schemas over the internet to bootstrap tv4.
Usage
Validator.simple('http://json-schema.org/geo', function (error, v) {
assert.ifError(error);
assert(v.validate(
{latitude: 53.0, longitude: 43.0},
'http://json-schema.org/geo'
).valid);
done();
});
CLI
echo '{"json": "to validate"}' | json-validate http://some.type.id/
API
Constructor:
v = new Validator(schemaUris);
schemaUris: array of schema Uris to load (can be a string in the case of single URI)
--
v.fetchSchemas(schemaLoader, callback)
Load schemas over the net with schemaLoader(url, callback)
and add to tv4 validator. All URI-s to be loaded: given in constructor and referenced by "$ref" clause in each loaded schema. Circular references get resolved.
--
v.validate(json, typeId)
Do validation of json
against schema defined by typeId
Possible type Ids are:
- http://json-schema.org/geo
- http://some.site.somewhere/entry-schema#/definitions/diskUUID
validate()
returns the tv4 validation result object. It will throw an Error
if the schema for the passed typeId
has not been loaded (fetched).
--
Validator.simple(uris, callback)
Just a shortcut for getting validator bootstrapped using request
as schema loader