0

이 질문에 계속 아래 질문한다 :크로스 필드 유효성 검사를 JSR303

Cross field validation with Hibernate Validator (JSR 303)

내가 JSR 303에 새로 온 사람, 내 요구 사항입니다 - 내 페이지에서 (내가 만드는 봄 WebFlow을 사용하고 있습니다 설문 조사) Amount1과 Amount2라는 두 개의 텍스트 필드가 있는데 Amount2가 Amount1보다 작 으면 Amount2 필드 바로 아래에 유효성 검사 오류 메시지가 표시되어야합니다 (Amount2는 Amount1보다 작을 수 없음). 위의 질문에서 주어진 대답을 사용하면이 메시지는 페이지 상단에서 볼 수 있지만 필드 아래에서는 볼 수 없습니다.

어떻게 작동합니다 작동하지 않습니다 무엇

@Amount(amount1= "amount1", amount2= "amount2") 
public class SurveyBean extends ModelContextBean implements Serializable{ 

:

public class SurveyBean extends ModelContextBean implements Serializable{ 
@Amount(amount1= "amount1", amount2= "amount2") 
private String getAmount2(){} 

사람이 필드 레벨에서 교차 필드 유효성 검사를 적용하는 방법에 관해서 좀 도와 주 시겠어요 ...

미리 감사드립니다.

답변

0

이것은 실제로 Bean 유효성 검사 또는 Hibernate Validator 질문이 아닙니다. . 문제는 UI에 있습니다. Spring WebFlow에서 매핑 작업이 제약 조건 오류에서 어떻게 작동하는지 잘 모르겠지만이를 사용자 정의 할 수있는 방법이있을 것으로 기대합니다. Bean 유효성 검사 관점에서 볼 때 동일한 bean의 두 필드를 비교하는 유일한 방법은 사용자 정의 클래스 수준 제한을 사용하는 것입니다. 다른 방법은 없습니다. 여기서 문제는 오류 메시지를 필드에 자동 매핑하는 것입니다. 이제는 Spring Web Flow에 대해 더 많은 것을 생각하면서 메시지가 맨 위에 표시 될 것입니다. 이것은 결국 클래스 수준의 제약 조건이며 적용 할 필드를 알 수 없습니다.

+0

크로스 필드 유효성 검사가 클래스 수준에서만 적용될 수 있음을 확인해 주셔서 감사합니다. – user3367569