1 package org.infoglue.cms.util.validators; 2 3 import org.apache.commons.validator.Field; 4 import org.apache.commons.validator.GenericTypeValidator; 5 import org.apache.commons.validator.GenericValidator; 6 import org.apache.commons.validator.Validator; 7 import org.apache.commons.validator.ValidatorException; 8 import org.apache.commons.validator.util.ValidatorUtils; 9 10 13 public class CommonsValidator { 14 15 28 public static boolean validateRaiseException( 29 final Object bean, 30 final Field field) 31 throws Exception { 32 33 final String value = 34 ValidatorUtils.getValueAsString(bean, field.getProperty()); 35 36 if ("RUNTIME".equals(value)) { 37 throw new RuntimeException ("RUNTIME-EXCEPTION"); 38 39 } else if ("CHECKED".equals(value)) { 40 throw new Exception ("CHECKED-EXCEPTION"); 41 42 } else { 43 throw new ValidatorException("VALIDATOR-EXCEPTION"); 44 } 45 } 46 47 55 public static boolean validateRequired(Object bean, Field field) { 56 String value = ValidatorUtils.getValueAsString(bean, field.getProperty()); 57 return !GenericValidator.isBlankOrNull(value); 58 } 59 60 68 public static boolean validateByte(Object bean, Field field) { 69 String value = ValidatorUtils.getValueAsString(bean, field.getProperty()); 70 71 return GenericValidator.isByte(value); 72 } 73 74 82 public static boolean validateShort(Object bean, Field field) { 83 String value = ValidatorUtils.getValueAsString(bean, field.getProperty()); 84 85 return GenericValidator.isShort(value); 86 } 87 88 96 public static boolean validateInt(Object bean, Field field) { 97 String value = ValidatorUtils.getValueAsString(bean, field.getProperty()); 98 99 return GenericValidator.isInt(value); 100 } 101 102 110 public static boolean validatePositive(Object bean , Field field) { 111 String value = ValidatorUtils.getValueAsString(bean, field.getProperty()); 112 113 return GenericTypeValidator.formatInt(value).intValue() > 0; 114 } 115 116 124 public static boolean validateLong(Object bean, Field field) { 125 String value = ValidatorUtils.getValueAsString(bean, field.getProperty()); 126 127 return GenericValidator.isLong(value); 128 } 129 130 138 public static boolean validateFloat(Object bean, Field field) { 139 String value = ValidatorUtils.getValueAsString(bean, field.getProperty()); 140 141 return GenericValidator.isFloat(value); 142 } 143 144 152 public static boolean validateDouble(Object bean, Field field) { 153 String value = ValidatorUtils.getValueAsString(bean, field.getProperty()); 154 155 return GenericValidator.isDouble(value); 156 } 157 158 166 public static boolean validateEmail(Object bean, Field field) { 167 String value = ValidatorUtils.getValueAsString(bean, field.getProperty()); 168 169 return GenericValidator.isEmail(value); 170 } 171 172 175 public static boolean validateRegexp(Object bean, Field field) { 176 String value = ValidatorUtils.getValueAsString(bean, field.getProperty()); 177 String regexp = field.getVarValue("regexp"); 178 179 boolean valid = value.matches(regexp); 181 return valid; 182 } 183 184 public final static String FIELD_TEST_NULL = "NULL"; 185 public final static String FIELD_TEST_NOTNULL = "NOTNULL"; 186 public final static String FIELD_TEST_EQUAL = "EQUAL"; 187 188 public static boolean validateRequiredIf(Object bean, Field field, Validator validator) 189 { 190 final String value = ValidatorUtils.getValueAsString(bean, field.getProperty()); 191 final String dependentValue = ValidatorUtils.getValueAsString(bean, field.getVarValue("dependent")); 192 return dependentValue == null || dependentValue.length() == 0 || (value != null && value.length() > 0); 193 } 194 195 private static Class stringClass = new String ().getClass(); 196 197 private static boolean isString(Object o) { 198 if (o == null) return true; 199 return (stringClass.isInstance(o)); 200 } 201 202 } 203 | Popular Tags |