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