java硬编码数据校验

使用注解校验可以达到无入侵方式校验。但是确灵活度不够。对于多参数关联校验,动态校验等情况则难以实现。

对于硬编码校验网上例子不多。硬编码校验可以采用链模式,显得灵活高效。

校验类如下

 
     
public class Assert {
//内部类
public static class ValidLink {
//校验错误信息保存
private String msg;

//获取错误结果
public String result() {
return msg;
}

//校验规则 是否相等
public ValidLink isEqual(Object a, Object b, String message) {
if (msg == null) {
if (!Objects.equals(a, b)) {
msg = message;
}
}
return this;
}

//校验规则是否为真
public ValidLink isTrue(boolean b, String message) {
if (msg == null) {
if (!b) {
msg = message;
}
}
return this;
}

}

//产生校验链
public static ValidLink validLink() {
return new ValidLink();
}
}
 

例子

        String msg= Assert.validLink()
                .rageLength(registrationNo, 1, 30, "工商注册号不能为空,且不能超过30个字符")
                .rageLength(name, 1, 63, "企业名称不能为空,且不能超过63个字符")
                .rageLength(registeredCapital, 1, 10, "注册资本不能为空,且不能超过10个字符")
                .isNumber(registeredCapital, "注册资本必须是数字")
                .inCollections(Arrays.asList("事业单位","国有控股企业","民营控股企业","外资投资企业"), companyType, true, "公司类型错误")
.isTrue(!companyType.equals("国有控股企业") || NumberUtils.gl(registeredCapital, 1000), "国企注册资本必须大于一千万") .rageLength(companyAddress
, 1, 100, "公司地址不能为空,且不能超过100个字符") .inCollections(Arrays.asList("独资", "多人控股"), shareStructure, "股份结构格式错误") .rageLength(registrationOrgan, 1, 30, "登记机关不能为空,且不能超过30个字符") .inCollections(BusyCache.getAllProvince().keySet(), registrationProvinces, "注册省份格式错误!") .isDate(establishedTime, "成立时间格式错误") .notNullMaxFile("企业资质证", businessLicenseImage, 10, null).result();

 

posted on 2018-11-29 22:28  NullToValue 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/nullAndValue/p/10041393.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值