2013-05-16 1 views
2

사용자 정의 프레임 워크가 아직 지원하지 않는 일부 기능 때문에 현재 사용자 정의 유효성 검사 프레임 워크 대신 jsr303을 사용하고 싶습니다. jsr이 특정 유스 케이스를 지원하는지 조사하고 있습니다.런타임 파생 제약 조건 값에 대한 BeanValidation

일부 프런트 엔드에서 고객에게 제공되는 대출 제안 입력란에 사용자의 신용 점수에 따라 시스템에서 생성 된 대출 금액이 필드에 미리 채워져 있고 고객이 전액 또는 제안 된 가치보다 낮습니다 (제안 된 금액보다 많지 않음).

필드 : 신용 점수가 런타임 생성

@DecimalMin("1000.00") 
@DecimalMax(onlyKnowAtRuntime) 
private BigDecimal loanOffer; 

offer = $20 000.00 
customer inputs = $50 000.00 

때문에, 우리가 모르는 무엇을 최대 값 컴파일시에 수 있지만 우리가해야 (이 경우 $20 000.00@DecimalMax) 고객이 인수하지 않는다는 것을 확인합니다. $20 000.00

이러한 문제와 관련하여 어떤 아이디어가 있습니까?

답변

1

제공되는 Bean 유효성 검증 제약 조건으로 제안 된 사용 사례를 사용할 수 없습니다. Really Bean Validation은 정적 제약을 설명하는 것에 관한 것입니다.

그러나 사용자 지정 제약 조건을 작성하는 것이 상상할 수 있습니다. @ MaxCreditExceeded. 사용자 정의 제약 조건을 작성하는 것은 쉽습니다. 문제는 사용자의 현재 신용 한도를 유지하는 것입니다. 하나의 접근법은 ThreadLocal을 사용하는 것입니다. 그러나이를 위해서는 여신 한도가 적절하게 설정되고이 변수로 반제되어야합니다.