File tree Expand file tree Collapse file tree 2 files changed +54
-0
lines changed
model/src/main/java/uk/gov/service/payments/commons/api/validation Expand file tree Collapse file tree 2 files changed +54
-0
lines changed Original file line number Diff line number Diff line change 1+ package uk .gov .service .payments .commons .api .validation ;
2+
3+ import javax .validation .Constraint ;
4+ import javax .validation .Payload ;
5+ import java .lang .annotation .Documented ;
6+ import java .lang .annotation .Retention ;
7+ import java .lang .annotation .Target ;
8+
9+ import static java .lang .annotation .ElementType .FIELD ;
10+ import static java .lang .annotation .RetentionPolicy .RUNTIME ;
11+
12+ @ Target ({ FIELD })
13+ @ Retention (RUNTIME )
14+ @ Constraint (validatedBy = AllowedStringsValidator .class )
15+ @ Documented
16+ public @interface AllowedStrings {
17+
18+ String message ();
19+
20+ Class <?>[] groups () default { };
21+
22+ Class <? extends Payload >[] payload () default { };
23+
24+ String [] allowed ();
25+
26+ @ Target ({ FIELD })
27+ @ Retention (RUNTIME )
28+ @ Documented
29+ @interface List {
30+
31+ AllowedStrings [] value ();
32+ }
33+ }
Original file line number Diff line number Diff line change 1+ package uk .gov .service .payments .commons .api .validation ;
2+
3+ import javax .validation .ConstraintValidator ;
4+ import javax .validation .ConstraintValidatorContext ;
5+ import java .util .Set ;
6+
7+ public class AllowedStringsValidator implements ConstraintValidator <AllowedStrings , String > {
8+
9+ private Set <String > allowedStrings ;
10+
11+ @ Override
12+ public void initialize (AllowedStrings parameters ) {
13+ allowedStrings = Set .of (parameters .allowed ());
14+ }
15+
16+ @ Override
17+ public boolean isValid (String value , ConstraintValidatorContext context ) {
18+ if (value == null ) return false ;
19+ return allowedStrings .contains (value );
20+ }
21+ }
You can’t perform that action at this time.
0 commit comments