0.0.4 • Published 10 years ago

json-schema-format v0.0.4

Weekly downloads
1
License
MIT
Repository
gitlab
Last release
10 years ago

json-schema-format

针对阿里的业务特点,对常用的format进行验证的实现。

参考river的format列表,部分实现。

依赖tv4,将通过tv4的addFormat方法将这些format添加进去

目前实现的format

  • date-time
  • email
  • hostname
  • ipv4
  • ipv6
  • uri
  • TIMESTAMP
  • URL
  • TMALL_DETAIL
  • TAOBAO_DETAIL
  • TMALL_SHOP
  • TAOBAO_SHOP
  • CDN_PIC

安装

TBower

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() );