1. 程式人生 > >java硬編碼資料校驗

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