json-schema-format
v0.0.4
Published
customised format based on tv4
Downloads
62
Readme
json-schema-format
针对阿里的业务特点,对常用的format进行验证的实现。
参考river的format列表,部分实现。
依赖tv4,将通过tv4的addFormat方法将这些format添加进去
目前实现的format
- date-time
- hostname
- ipv4
- ipv6
- uri
- TIMESTAMP
- URL
- TMALL_DETAIL
- TAOBAO_DETAIL
- TMALL_SHOP
- TAOBAO_SHOP
- CDN_PIC
安装
tbower install json-schema-format --save
npm
npm install json-schema-format --save
使用
- 若在浏览器中使用,不使用CMD/AMD,直接使用
window.JsonSchemaFormat
。
单独使用Format
var Format = require( 'json-schema-format' );
// --> true
console.log( Format( 'TMALL_DETAIL', 'http://detail.tmall.com/item.htm?spm=p531232234.1.w5003-6316546454.14.ZkNgbh&id=36628862613&mt=&scene=taobao_shop' ) )
结合tv4使用
var TV4 = require( 'tv4' );
var Format = require( 'json-schema-format' );
var schema = {
type: 'object',
properties: {
pic: {
type: 'string',
format: 'CDN_PIC'
}
}
};
var retForCDNPic = TV4.validate( {
pic: 'http://pan.taobao.com'
}, schema );
if( !retForCDNPic ){
// --> Format validation failed (不匹配格式 CDN_PIC 的要求)
console.log( TV4.error );
}
获取支持的格式列表
var Format = require( 'json-schema-format' );
// --> [ 'uri', 'ipv4'.... ]
console.log( Format.getAllFormats() );