View Javadoc

1   package org.seasar.cubby.validator.validators;
2   
3   import org.seasar.cubby.validator.BaseValidator;
4   import org.seasar.cubby.validator.ValidationContext;
5   import org.seasar.framework.util.StringUtil;
6   
7   public class MaxLengthValidator extends BaseValidator {
8   
9   	private final int max;
10  
11  	public MaxLengthValidator(final int max) {
12  		this(max, "valid.maxLength");
13  	}
14  
15  	public MaxLengthValidator(final int max, final String messageKey) {
16  		this.max = max;
17  		this.setMessageKey(messageKey);
18  	}
19  
20  	public String validate(final ValidationContext ctx) {
21  		final Object value = ctx.getValue();
22  		if (value instanceof String) {
23  			String str = (String) value;
24  			if (StringUtil.isEmpty((String) value)) {
25  				return null;
26  			}
27  			if (str.length() <= max) {
28  				return null;
29  			}
30  		} else if (value == null) {
31  			return null;
32  		}
33  		return getMessage(getPropertyMessage(ctx.getName()), max);
34  	}
35  }