[SPRING] 유효성 검사 주석을 제어하려면?
SPRING유효성 검사 주석을 제어하려면?
두 개의 유효성 검사 주석이있는 필드가 있습니다.
@NotEmpty
@Length(min=3,max=100)
String firstName;
hibernate가 유효성 검사 주석을 먼저 실행하는 순서를 지정하는 방법을 알고 궁금해하며 사용자 지정이 가능하면?
내가 묻는 이유는 그 필드를 비워두면 때때로 표시되는 첫 번째 유효성 검사 메시지가 비어 있지 않고 다른 시간에 비어있는 경우입니다. 비워두면 길이 주석에 대한 유효성 검사 메시지가 나타납니다.
미리 감사드립니다.
해결법
-
==============================
1.JSR-303 유효성 검사 그룹을 사용하십시오.
JSR-303 유효성 검사 그룹을 사용하십시오.
그룹을 지정하지 않으면 제약 조건이 기본 Bean 유효성 검사 그룹의 일부가됩니다 (javax.validation.groups.Default 참조).
당신의 "확장"(또는 당신이 그것을 부르기 원하는) 그룹이 될 수있는 인터페이스를 생성하십시오 :
public interface Extended{}
이제 javax.validation.GroupSequence 주석을 가질 인터페이스를 생성하십시오.
@GroupSequence({Default.class, Extended.class}) public interface MySequence {}
제약 조건에 유효성 검사 그룹 설정
@NotEmpty // If no group is specified it is part of the default group @Length(min=3,max=100, groups = Extended.class) String firstName;
MySequence를 validator 호출에 건네줍니다.
validator.validate(object, MySequence.class);
@GroupSequence에 지정된대로 기본 제약 조건이 먼저 유효성이 검사되고 위반 위반이 발생하지 않으면 확장 그룹으로 이동합니다.
from https://stackoverflow.com/questions/5571231/control-validation-annotations-order by cc-by-sa and MIT license