資料驗證元件
減少重複開發資料驗證,建立資料驗證服務元件
定義檢查策略
public ValidationStrategy<CheckDTO> createStrategy() {
final Builder<CheckDTO> builder = new ValidationStrategy.Builder<>();
builder.checkContinue(i -> CheckResult.of("X1", "名稱不得空白", () -> CheckRoles.isNotNull(i.getName())));
builder.checkContinue(i -> CheckResult.of("X2", "內容範圍於0於10之間", () -> CheckRoles.isBetween(i.getName(), 0, 10)));
builder.setHandler(t -> {//自訂異常處理
assertThat(t.getErrors()).hasSize(2);
assertThat(t.isAllError()).isTrue();
});
return builder.build();
}
執行該策略
IValidationService validationService = new ValidationService();
boolean execute = validationService.execute(dto, createStrategy());//=>檢查結果
Last updated
Was this helpful?