View Javadoc

1   package org.mod4j.runtime.validation;
2   
3   import org.springframework.validation.Errors;
4   import org.springframework.validation.Validator;
5   
6   /**
7    * @author Eric Jan Malotaux
8    */
9   public class MinLengthValidator implements Validator {
10      private String field;
11  
12      private int min;
13  
14      private Class clazz;
15  
16      /**
17       * @param field
18       * @param max
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       * {@inheritDoc}
28       */
29      @SuppressWarnings("unchecked")
30      public boolean supports(Class clazz) {
31          return this.clazz.isAssignableFrom(clazz);
32      }
33  
34      /**
35       * {@inheritDoc}
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  }