json-schema

2019-10-12  本文已影响0人  叫我王必过
一、需要注意的几点
// 例如这段代码,很多的属性可能都是最小长度为1的字符串,我们可以把这段代码复用
{
    "type":"string",
    "minLength":1
}
// 例如这样
const stringTemplate  = {
    "type":"string",
    "minLength":1
}
export default {
    'type': 'object',
    'required': [
        'tableName',
        'desc',
    ],
    'properties': {
        'tableName': stringTemplate
        'desc': stringTemplate
    }
}
二、常用的Schema检验
'pre-emails': {
     'type': 'string',
     'minLength': 1,
     'pattern': '^(([0-9a-zA-Z_-]+[;]?){1,9})(([0-9a-zA-Z_-]+){0,1})$',
}
'pre-emails': {
     'type': 'string',
     'minLength': 1,
     'pattern': '^(([0-9a-zA-Z_-]+[,]?){1,9})(([0-9a-zA-Z_-]+){0,1})$',
}
'name': {
     'type': 'string',
     'minLength': 1,
     'pattern': '^\w+$',
}
'name': {
     'type': 'string',
     'minLength': 1,
     'pattern': '^[A-Za-z]+$',
}
'name': {
     'type': 'string',
     'minLength': 1,
     'pattern': '^[a-z]+\w?$',
}
'name': {
     'type': 'string',
     'minLength': 1,
     'pattern': '^[a-z]{1}\w{7,15}$',
}
'name': {
     'type': 'string',
     'minLength': 1,
     'pattern': '^[/]{1}.+$',
}
'regionChineseName': {
      'type': 'string',
      'pattern': '^[\u4e00-\u9fa5]+$',
      'minLength': 1,
      'maxLength': 16,
},
// 涵盖了以13、14、15、16、17、18、19开头的手机号校验(仅供参考,不对请指正)
"phone":{
        type:"number",
        pattern: "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$"
}
// 如何使用 == 简单粗暴效率高
"uri":{
      type:"string",
      format:"uri"
}
image.png

未完待续 ···

上一篇 下一篇

猜你喜欢

热点阅读