'use strict'; const {comoRules,validate} = require('./src/main'); let rule = { username:comoRules.getInstance().name('用户名称').required().notEmpty().trim(), password:comoRules.getInstance().name('用户密码').required().notEmpty().minLength(6).maxLength(20).extend((field,value,row) => { row[field] = JSON.stringify({test:value}); }), sex:comoRules.getInstance().name('性别').inArray(['男','女']), extends:comoRules.getInstance().name('扩展字段').required().isJson().extend((field,value,row) => { row[field] = JSON.parse(value); }) // username:comoRules.getInstance().name('用户名').required().min_length(2).max_length(20).chinese(), // password:comoRules.getInstance().name('密码').required().min_length(6).max_length(20).letter_number(), // sex:comoRules.getInstance().name('性别').in_array(['男','女']), // extends:comoRules.getInstance().name('扩展信息').required(), // born:comoRules.getInstance().name('出生日期').required().date(), // password1:comoRules.getInstance().required().ref('password','两次密码必须一致'), // idcard:comoRules.getInstance().id_card('身份证号码错误'), // email:comoRules.getInstance().email('邮箱格式错误'), // qq:comoRules.getInstance().qq('qq号码错误').number(), // login_ip:comoRules.getInstance().ip('ip地址格式错误'), // phone:comoRules.getInstance().phone('手机号码错误'), // web_url:comoRules.getInstance().name('网站地址').required().url(), // info:comoRules.getInstance().name('详情').object(), // nickname:comoRules.getInstance().name('呢称').letter(), // datetest:comoRules.getInstance().name('测试数字和字母').required().letter_number(), // age:comoRules.getInstance().name('年龄').min(6).max(13) } let data = { password:'szjcomo',sex:'男',extends:'xxx',born:'2017-01-01', password1:'xxx',idcard:'xxx',email:'dfafd@qq.com',qq:'123456', login_ip:'127.0.0.1',phone:'xxx',web_url:'http://www.baidu.com',info:{name:'hello'}, nickname:'abcd',datetest:'ab123c',age:7,username:' szjcomo ',extends:'{"uname":"szjcomo","age":18}' }; const valid = async function(rule,data) { try { let res = await validate(rule,data); console.log('result:',res); } catch(err) { console.log(err.message) } } valid(rule,data);