【1个类搞定后端验证,依赖fastjson;默认使用的jdk8的编译级别。如果使用jdk6,使用validator6包下的类】
配置说明:json对象配置的方式,以{属性名:规则}的格式配置,多个规则之间使用";"分隔如:{属性名:规则1;规则2} 使用说明:MsgValidator用于需要返回验证消息的验证。辅助于开发或前端消息展示【可以根据需要自己定义消息】;ValidatorJ仅用于校验,不反悔验证失败的规则消息;
if(!MsgValidator.valid(mobile, cfgs)){ req.set("msg",MsgValidator.msg());//获取验证失败的消息 return "验证不通过"; }
if(ValidatorJ.valid(mobile, cfgs)){ return "验证通过"; }
pattern:"{mobile:"required;pattern:^((13[0-9])|(15[^4,\\\\D])|(18[0,5-9]))\\\\d{8}$"}"
length必须为11个长度:"{mobile:'required;length:11'}"
length必须小于等于11个长度:"{address:'required;length:0,11'}"
length必须为6~12个长度:"{password:'required;length:6-12'}"
备注: 1.可选验证就是可空的字段,但是,有时候比如手机号,不填不校验,填了需要校验的这种情况。 2.有pattern规则的时候,需要将所有规则用双引号引起来,如上,否则内部解析会有问题,还有\\需要写为\\\\
日期:"{createDate:'required;date'}"
时间:"{createTime:'required;time'}"
日期时间:"{createDate:'required;datetime'}"
时间戳:"{createDate:'required;timestamp'}"
全部整数:"{age:'required;integer'}"或"{age:'required;integer:+0-'}"
正整数:"{age:'required;integer:+'}"
负整数:"{age:'required;integer:-'}"
0和正整数:"{age:'required;integer:0+'}"
0和负整数:"{age:'required;integer:0-'}"
范围域,0-50的闭区间:{amount:'required;range:[0,50]'}
离散域[类似枚举]:{amount:'required;range:(-2,-1,0,1,2,3)'}
范围域+离散域:{amount:'required;range:(-2,-1,0,1,2,3)[10,100]'}
小于:"{createTime:'required', updateTime:'required;compare:<,createTime'}"
大于:"{createTime:'required', updateTime:'required;compare:>,createTime'}"
小于等于:"{createTime:'required', updateTime:'required;compare:<=,createTime'}"
大于等于:"{createTime:'required', updateTime:'required;compare:>=,createTime'}"
备注:支持字符串的大小,日期,时间,日期时间,数字的大小,金额的大小比较
如果你喜欢,请支持一下作者,鼓励我做更多更好用的开源作品。
//只支持字符串单值校验,别的类型可以转成字符串,因为所有类型都可以用字符串表示 String mobile = "13265968748";
//校验规则,属性名可以随意,这里使用"val" String cfgs = "{val:'required;mobile'}";
if(ValidatorJ.valid(mobile, cfgs)){ return "验证通过"; }else{ return "验证不通过"; }
Cup cup = new Cup("0");//bean对象 String cfgs = "{name:'required;integer'}";//校验规则
if(ValidatorJ.valid(cup, cfgs)){ return "验证通过"; }else{ return "验证不通过"; }
Cup cup = new Cup(); Cup cup2 = new Cup("aaa"); List cs = new ArrayList();//list集合 cs.add(cup); cs.add(cup2); String cfgs = "{name:'required'}";
if(ValidatorJ.valid(cs, cfgs)){ return "验证通过"; }else{ return "验证不通过"; }
String css = "[{name:'aa'},{name:'bb'},{name:'cc'},{name:''}]"; JSONArray cs = JSONArray.parseArray(css);//JsonArray对象的校验 String cfgs = "{name:'required'}";
if(ValidatorJ.valid(cs, cfgs)){ return "验证通过"; }else{ return "验证不通过"; }
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型