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 NumberValidator extends BaseValidator {
8   
9   	public NumberValidator() {
10  		this("valid.number");
11  	}
12  
13  	public NumberValidator(final String messageKey) {
14  		this.setMessageKey(messageKey);
15  	}
16  
17  	public String validate(final ValidationContext ctx) {
18  		final Object value = ctx.getValue();
19  		if (value instanceof String) {
20  			String str = (String)value;
21  			if (StringUtil.isEmpty(str)) {
22  				return null;
23  			}
24  			try {
25  				Long.parseLong(str);
26  				return null;
27  			} catch (NumberFormatException e) {}
28  		}else if(value == null){
29  			return null;
30  		}
31  		return getMessage(getPropertyMessage(ctx.getName()));
32  	}
33  }