1 package org.mod4j.runtime.validation;
2
3 import org.springframework.validation.Errors;
4 import org.springframework.validation.Validator;
5
6
7
8
9 public class MinLengthValidator implements Validator {
10 private String field;
11
12 private int min;
13
14 private Class clazz;
15
16
17
18
19
20 public MinLengthValidator(Class clazz, String field, int min) {
21 this.clazz = clazz;
22 this.field = field;
23 this.min = min;
24 }
25
26
27
28
29 @SuppressWarnings("unchecked")
30 public boolean supports(Class clazz) {
31 return this.clazz.isAssignableFrom(clazz);
32 }
33
34
35
36
37 public void validate(Object target, Errors errors) {
38 String value = (String) errors.getFieldValue(field);
39 if (value != null) {
40 int length = value.length();
41 if (length < min) {
42 errors.rejectValue(field, "field.length.min", new Integer[] { new Integer(min), new Integer(length) },
43 field + " should be at least " + min + " long, but was " + length);
44 }
45 }
46 }
47
48 }