특정 형식이어야하는 문자열 목록이 있습니다. 형식이 지정되지 않은 문자열을 사용하여 오류 메시지를 반환해야합니다. 스프링 밸리데이션을 사용하는 방법 (최대 절전 유효성 검사기를 사용하고 있습니다). 주석 :스프링 MVC 목록에 대한 유효성 검사 및 잘못된 값보고
@Documented
@Retention(RUNTIME)
@Target({FIELD, METHOD})
@Constraint(validatedBy = HostsValidator.class)
public @interface HostsConstraint {
String message();
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
구현 :
public class HostsValidator implements ConstraintValidator<HostsConstraint, List<String>>{
@Override
public void initialize(OriginHostsConstraint constraintAnnotation) {
}
@Override
public boolean isValid(List<String> strings, ConstraintValidatorContext context) {
for (String s : strings) {
if (!s.matches("[0-9]+") {
//How do I say: Invalid string <s> ?
return false;
}
}
}
}
사용법 : 전체 목록을 제공합니다 validatedValue
를 사용
public class Test {
@HostsConstraint(message="Invalid string ")
private List<String> hosts;
}
.