資料驗證元件

減少重複開發資料驗證,建立資料驗證服務元件

定義檢查策略

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?