List of usage examples for org.apache.commons.validator Field getVarValue
public String getVarValue(String mainKey)
From source file:org.seasar.struts.validator.FieldChecks.java
/** * Checks if the field's length of byte is greater than or equal to the * minimum value. A <code>Null</code> will be considered an error. * /* w w w. j av a2 s. c o m*/ * @param bean * The bean validation is being performed on. * @param validatorAction * The <code>ValidatorAction</code> that is currently being * performed. * @param field * The <code>Field</code> object associated with the current * field being validated. * @param errors * The <code>ActionMessages</code> object to add errors to if * any validation errors occur. * @param validator * The <code>Validator</code> instance, used to access other * field values. * @param request * Current request object. * @return True if stated conditions met. */ public static boolean validateMinByteLength(Object bean, ValidatorAction validatorAction, Field field, ActionMessages errors, Validator validator, HttpServletRequest request) { String value = toString(bean, field); if (!GenericValidator.isBlankOrNull(value)) { try { int min = parseInt(field.getVarValue("minbytelength")); String charset = field.getVarValue("charset"); if (!GenericValidator.minByteLength(value, min, charset)) { addError(errors, field, validator, validatorAction, request); return false; } } catch (Exception e) { addError(errors, field, validator, validatorAction, request); return false; } } return true; }
From source file:org.seasar.struts.validator.S2FieldChecks.java
/** * ??????????/* w w w . j a v a 2s.c om*/ * * @param bean * JavaBeans * @param validatorAction * ? * @param field * * @param errors * ? * @param validator * ? * @param request * * @return ??OK???? */ public static boolean validateMaxByteLength(Object bean, ValidatorAction validatorAction, Field field, ActionMessages errors, Validator validator, HttpServletRequest request) { String value = getValueAsString(bean, field); if (!GenericValidator.isBlankOrNull(value)) { try { int max = Integer.parseInt(field.getVarValue("maxbytelength")); String charset = field.getVarValue("charset"); if (!S2GenericValidator.maxByteLength(value, max, charset)) { addError(errors, field, validator, validatorAction, request); return false; } } catch (Exception e) { addError(errors, field, validator, validatorAction, request); return false; } } return true; }
From source file:org.seasar.struts.validator.S2FieldChecks.java
/** * ???????????//w w w .j a v a 2s . c om * * @param bean * JavaBeans * @param validatorAction * ? * @param field * * @param errors * ? * @param validator * ? * @param request * * @return ??OK???? */ public static boolean validateMinByteLength(Object bean, ValidatorAction validatorAction, Field field, ActionMessages errors, Validator validator, HttpServletRequest request) { String value = getValueAsString(bean, field); if (!GenericValidator.isBlankOrNull(value)) { try { int min = Integer.parseInt(field.getVarValue("minbytelength")); String charset = field.getVarValue("charset"); if (!S2GenericValidator.minByteLength(value, min, charset)) { addError(errors, field, validator, validatorAction, request); return false; } } catch (Exception e) { addError(errors, field, validator, validatorAction, request); return false; } } return true; }
From source file:org.seasar.struts.validator.S2FieldChecks.java
/** * ???????????//from w w w. jav a2 s . c o m * * @param bean * JavaBeans * @param validatorAction * ? * @param field * * @param errors * ? * @param validator * ? * @param request * * @return ??OK???? */ public static boolean validateLongRange(Object bean, ValidatorAction validatorAction, Field field, ActionMessages errors, Validator validator, HttpServletRequest request) { String value = getValueAsString(bean, field); if (!GenericValidator.isBlankOrNull(value)) { try { long longValue = Long.parseLong(value); long min = Long.parseLong(field.getVarValue("min")); long max = Long.parseLong(field.getVarValue("max")); if (!GenericValidator.isInRange(longValue, min, max)) { addError(errors, field, validator, validatorAction, request); return false; } } catch (Exception e) { addError(errors, field, validator, validatorAction, request); return false; } } return true; }
From source file:org.sgrp.singer.validator.ArrayFieldChecks.java
/** * Checks if the field isn't null based on the values of other fields. * * @param bean The bean validation is being performed on. * @param va The <code>ValidatorAction</code> that is currently being * performed./*from w w w . j a v a2 s . c o m*/ * @param field The <code>Field</code> object associated with the current * field being validated. * @param errors The <code>ActionMessages</code> object to add errors to if * any validation errors occur. * @param validator The <code>Validator</code> instance, used to access * other field values. * @param request Current request object. * @return true if meets stated requirements, false otherwise. */ public static boolean validateRequiredIf(Object bean, ValidatorAction va, Field field, ActionMessages errors, org.apache.commons.validator.Validator validator, HttpServletRequest request) { Object form = validator.getParameterValue(org.apache.commons.validator.Validator.BEAN_PARAM); String[] value = null; boolean required = false; if (isStringArray(bean)) { value = (String[]) bean; } else { value = new String[0]; } int i = 0; String fieldJoin = "AND"; if (!GenericValidator.isBlankOrNull(field.getVarValue("fieldJoin"))) { fieldJoin = field.getVarValue("fieldJoin"); } if (fieldJoin.equalsIgnoreCase("AND")) { required = true; } while (!GenericValidator.isBlankOrNull(field.getVarValue("field[" + i + "]"))) { String dependProp = field.getVarValue("field[" + i + "]"); String dependTest = field.getVarValue("fieldTest[" + i + "]"); String dependTestValue = field.getVarValue("fieldValue[" + i + "]"); String dependIndexed = field.getVarValue("fieldIndexed[" + i + "]"); if (dependIndexed == null) { dependIndexed = "false"; } String dependVal = null; boolean thisRequired = false; if (field.isIndexed() && dependIndexed.equalsIgnoreCase("true")) { String key = field.getKey(); if ((key.indexOf("[") > -1) && (key.indexOf("]") > -1)) { String ind = key.substring(0, key.indexOf(".") + 1); dependProp = ind + dependProp; } } dependVal = ValidatorUtils.getValueAsString(form, dependProp); if (dependTest.equals(FIELD_TEST_NULL)) { if ((dependVal != null) && (dependVal.length() > 0)) { thisRequired = false; } else { thisRequired = true; } } if (dependTest.equals(FIELD_TEST_NOTNULL)) { if ((dependVal != null) && (dependVal.length() > 0)) { thisRequired = true; } else { thisRequired = false; } } if (dependTest.equals(FIELD_TEST_EQUAL)) { thisRequired = dependTestValue.equalsIgnoreCase(dependVal); } if (fieldJoin.equalsIgnoreCase("AND")) { required = required && thisRequired; } else { required = required || thisRequired; } i++; } if (required) { for (i = 0; i < value.length; i++) { if (GenericValidator.isBlankOrNull(value[i])) { errors.add(field.getKey(), Resources.getActionMessage(request, va, field)); return false; } } } return true; }
From source file:org.sgrp.singer.validator.ArrayFieldChecks.java
/** * Checks for each value if it matches the regular expression in the field's mask attribute. * * @param bean The bean validation is being performed on. * @param va The <code>ValidatorAction</code> that is currently being * performed.//ww w . ja v a 2 s .c om * @param field The <code>Field</code> object associated with the current * field being validated. * @param errors The <code>ActionMessages</code> object to add errors to if * any validation errors occur. * @param request Current request object. * @return true if field matches mask, false otherwise. */ public static boolean validateMask(Object bean, ValidatorAction va, Field field, ActionMessages errors, HttpServletRequest request) { String mask = field.getVarValue("mask"); String[] value = null; if (isStringArray(bean)) { value = (String[]) bean; } else { value = new String[0]; } try { for (int i = 0; i < value.length; i++) { if (!GenericValidator.isBlankOrNull(value[i]) && !GenericValidator.matchRegexp(value[i], mask)) { errors.add(field.getKey(), Resources.getActionMessage(request, va, field)); return false; } } } catch (Exception e) { log.error(e.getMessage(), e); } return true; }
From source file:org.sgrp.singer.validator.ArrayFieldChecks.java
/** * Checks if the field is a valid date. If the field has a datePattern variable, * that will be used to format <code>java.text.SimpleDateFormat</code>. If the * field has a datePatternStrict variable, that will be used to format <code>java.text.SimpleDateFormat</code> * and the length will be checked so '2/12/1999' will not pass validation with * the format 'MM/dd/yyyy' because the month isn't two digits. If no datePattern * variable is specified, then the field gets the DateFormat.SHORT format for * the locale. The setLenient method is set to <code>false</code> for all variations. * * @param bean The bean validation is being performed on. * @param va The <code>ValidatorAction</code> that is currently being performed. * @param field The <code>Field</code> object associated with the current * field being validated./*w w w .ja va2 s.co m*/ * @param errors The <code>ActionMessages</code> object to add errors to if any * validation errors occur. * @param request Current request object. * @return true if valid, false otherwise. */ public static Object[] validateDate(Object bean, ValidatorAction va, Field field, ActionMessages errors, HttpServletRequest request) { String[] value = null; if (isStringArray(bean)) { value = (String[]) bean; } else { value = new String[0]; } Object[] result = new Object[value.length]; String datePattern = field.getVarValue("datePattern"); String datePatternStrict = field.getVarValue("datePatternStrict"); Locale locale = RequestUtils.getUserLocale(request, null); for (int i = 0; i < value.length; i++) { if (GenericValidator.isBlankOrNull(value[i])) { result[i] = Boolean.TRUE; } try { if (datePattern != null && datePattern.length() > 0) { result[i] = GenericTypeValidator.formatDate(value[i], datePattern, false); } else if (datePatternStrict != null && datePatternStrict.length() > 0) { result[i] = GenericTypeValidator.formatDate(value[i], datePatternStrict, true); } else { result[i] = GenericTypeValidator.formatDate(value[i], locale); } } catch (Exception e) { log.error(e.getMessage(), e); } if (result[i] == null) { errors.add(field.getKey(), Resources.getActionMessage(request, va, field)); result[i] = Boolean.FALSE; } } return result; }
From source file:org.sgrp.singer.validator.ArrayFieldChecks.java
/** * Checks if a fields value is within a range (min & max specified in the * vars attribute)./*from w w w. j av a2s . c o m*/ * * @param bean The bean validation is being performed on. * @param va The <code>ValidatorAction</code> that is currently being performed. * @param field The <code>Field</code> object associated with the current * field being validated. * @param errors The <code>ActionMessages</code> object to add errors to if any * validation errors occur. * @param request Current request object. * @return True if in range, false otherwise. */ public static boolean validateIntRange(Object bean, ValidatorAction va, Field field, ActionMessages errors, HttpServletRequest request) { String[] value = null; if (isStringArray(bean)) { value = (String[]) bean; } else { value = new String[0]; } for (int i = 0; i < value.length; i++) { if (!GenericValidator.isBlankOrNull(value[i])) { try { int intValue = Integer.parseInt(value[i]); int min = Integer.parseInt(field.getVarValue("min")); int max = Integer.parseInt(field.getVarValue("max")); if (!GenericValidator.isInRange(intValue, min, max)) { errors.add(field.getKey(), Resources.getActionMessage(request, va, field)); return false; } } catch (Exception e) { errors.add(field.getKey(), Resources.getActionMessage(request, va, field)); return false; } } } return true; }
From source file:org.sgrp.singer.validator.ArrayFieldChecks.java
/** * Checks if a fields value is within a range (min & max specified in the * vars attribute).// ww w . java 2s.c o m * * @param bean The bean validation is being performed on. * @param va The <code>ValidatorAction</code> that is currently being performed. * @param field The <code>Field</code> object associated with the current * field being validated. * @param errors The <code>ActionMessages</code> object to add errors to if any * validation errors occur. * @param request Current request object. * @return True if in range, false otherwise. */ public static boolean validateDoubleRange(Object bean, ValidatorAction va, Field field, ActionMessages errors, HttpServletRequest request) { String[] value = null; if (isStringArray(bean)) { value = (String[]) bean; } else { value = new String[0]; } for (int i = 0; i < value.length; i++) { if (!GenericValidator.isBlankOrNull(value[i])) { try { double doubleValue = Double.parseDouble(value[i]); double min = Double.parseDouble(field.getVarValue("min")); double max = Double.parseDouble(field.getVarValue("max")); if (!GenericValidator.isInRange(doubleValue, min, max)) { errors.add(field.getKey(), Resources.getActionMessage(request, va, field)); return false; } } catch (Exception e) { errors.add(field.getKey(), Resources.getActionMessage(request, va, field)); return false; } } } return true; }
From source file:org.sgrp.singer.validator.ArrayFieldChecks.java
/** * Checks if the field's length is less than or equal to the maximum value. * A <code>Null</code> will be considered an error. * * @param bean The bean validation is being performed on. * @param va The <code>ValidatorAction</code> that is currently being performed. * @param field The <code>Field</code> object associated with the current * field being validated./*from www . j ava 2 s . c o m*/ * @param errors The <code>ActionMessages</code> object to add errors to if any * validation errors occur. * @param request Current request object. * @return True if stated conditions met. */ public static boolean validateMaxLength(Object bean, ValidatorAction va, Field field, ActionMessages errors, HttpServletRequest request) { String[] value = null; if (isStringArray(bean)) { value = (String[]) bean; } else { value = new String[0]; } for (int i = 0; i < value.length; i++) { if (value[i] != null) { try { int max = Integer.parseInt(field.getVarValue("maxlength")); if (!GenericValidator.maxLength(value[i], max)) { errors.add(field.getKey(), Resources.getActionMessage(request, va, field)); return false; } } catch (Exception e) { errors.add(field.getKey(), Resources.getActionMessage(request, va, field)); return false; } } } return true; }