List of usage examples for org.apache.commons.validator Validator getParameterValue
public Object getParameterValue(String parameterClassName)
From source file:org.springmodules.commons.validator.validwhen.ValidWhen.java
/** * Checks if the field matches the boolean expression specified in * <code>test</code> parameter. * * @param bean The bean validation is being performed on. * * @param va The <code>ValidatorAction</code> that is currently being * performed.// ww w.j a v a 2s .c om * * @param field The <code>Field</code> object associated with the current * field being validated. * * @param errors The <code>Errors</code> object to add errors to if any * validation errors occur. * * @param request Current request object. * * @return <code>true</code> if meets stated requirements, * <code>false</code> otherwise. */ public static boolean validateValidWhen(Object bean, ValidatorAction va, Field field, Errors errors, Validator validator, HttpServletRequest request) { Object form = validator.getParameterValue(Validator.BEAN_PARAM); String value = null; boolean valid = false; int index = -1; if (field.isIndexed()) { String key = field.getKey(); final int leftBracket = key.indexOf("["); final int rightBracket = key.indexOf("]"); if ((leftBracket > -1) && (rightBracket > -1)) { index = Integer.parseInt(key.substring(leftBracket + 1, rightBracket)); } } if (isString(bean)) { value = (String) bean; } else { value = ValidatorUtils.getValueAsString(bean, field.getProperty()); } String test = field.getVarValue("test"); if (test == null) { String msg = "ValidWhen Error 'test' parameter is missing for field ' " + field.getKey() + "'"; errors.rejectValue(field.getKey(), msg); log.error(msg); return false; } // Create the Lexer ValidWhenLexer lexer = null; try { lexer = new ValidWhenLexer(new StringReader(test)); } catch (Exception ex) { String msg = "ValidWhenLexer Error for field ' " + field.getKey() + "' - " + ex; errors.rejectValue(field.getKey(), msg); log.error(msg); log.debug(msg, ex); return false; } // Create the Parser ValidWhenParser parser = null; try { parser = new ValidWhenParser(lexer); } catch (Exception ex) { String msg = "ValidWhenParser Error for field ' " + field.getKey() + "' - " + ex; errors.rejectValue(field.getKey(), msg); log.error(msg); log.debug(msg, ex); return false; } parser.setForm(form); parser.setIndex(index); parser.setValue(value); try { parser.expression(); valid = parser.getResult(); } catch (Exception ex) { String msg = "ValidWhen Error for field ' " + field.getKey() + "' - " + ex; errors.rejectValue(field.getKey(), msg); log.error(msg); log.debug(msg, ex); return false; } if (!valid) { FieldChecks.rejectValue(errors, field, va); return false; } return true; }
From source file:org.springmodules.validation.commons.FieldChecks.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 ww w. ja va2s. c o m*/ * @param field The <code>Field</code> object associated with the current * field being validated. * @param errors The <code>Errors</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, Errors errors, org.apache.commons.validator.Validator validator) { Object form = validator.getParameterValue(org.apache.commons.validator.Validator.BEAN_PARAM); boolean required = false; String value = FieldChecks.extractValue(bean, field); 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(FieldChecks.FIELD_TEST_NULL)) { thisRequired = (dependVal != null) && (dependVal.length() > 0); } if (dependTest.equals(FieldChecks.FIELD_TEST_NOTNULL)) { thisRequired = (dependVal != null) && (dependVal.length() > 0); } if (dependTest.equals(FieldChecks.FIELD_TEST_EQUAL)) { thisRequired = dependTestValue.equalsIgnoreCase(dependVal); } if (fieldJoin.equalsIgnoreCase("AND")) { required = required && thisRequired; } else { required = required || thisRequired; } i++; } if (required) { if (GenericValidator.isBlankOrNull(value)) { FieldChecks.rejectValue(errors, field, va); return false; } else { return true; } } return true; }
From source file:org.springmodules.validation.commons.FieldChecks.java
/** * Checks if the field matches the boolean expression specified in * <code>test</code> parameter. * * @param bean The bean validation is being performed on. * @param va The <code>ValidatorAction</code> that is currently being * performed./* w w w .j a va 2s .c o m*/ * @param field The <code>Field</code> object associated with the current * field being validated. * @param errors The <code>Errors</code> object to add errors to if any * validation errors occur. * @return <code>true</code> if meets stated requirements, * <code>false</code> otherwise. */ public static boolean validateValidWhen(Object bean, ValidatorAction va, Field field, Errors errors, Validator validator) { Object form = validator.getParameterValue(Validator.BEAN_PARAM); String value = null; boolean valid = false; int index = -1; if (field.isIndexed()) { String key = field.getKey(); final int leftBracket = key.indexOf("["); final int rightBracket = key.indexOf("]"); if ((leftBracket > -1) && (rightBracket > -1)) { index = Integer.parseInt(key.substring(leftBracket + 1, rightBracket)); } } if (isString(bean)) { value = (String) bean; } else { value = ValidatorUtils.getValueAsString(bean, field.getProperty()); } String test = field.getVarValue("test"); if (test == null) { String msg = "ValidWhen Error 'test' parameter is missing for field ' " + field.getKey() + "'"; errors.rejectValue(field.getKey(), msg); log.error(msg); return false; } // Create the Lexer ValidWhenLexer lexer = null; try { lexer = new ValidWhenLexer(new StringReader(test)); } catch (Exception ex) { String msg = "ValidWhenLexer Error for field ' " + field.getKey() + "' - " + ex; errors.rejectValue(field.getKey(), msg); log.error(msg); log.debug(msg, ex); return false; } // Create the Parser ValidWhenParser parser = null; try { parser = new ValidWhenParser(lexer); } catch (Exception ex) { String msg = "ValidWhenParser Error for field ' " + field.getKey() + "' - " + ex; errors.rejectValue(field.getKey(), msg); log.error(msg); log.debug(msg, ex); return false; } parser.setForm(form); parser.setIndex(index); parser.setValue(value); try { parser.expression(); valid = parser.getResult(); } catch (Exception ex) { String msg = "ValidWhen Error for field ' " + field.getKey() + "' - " + ex; errors.rejectValue(field.getKey(), msg); log.error(msg); log.debug(msg, ex); return false; } if (!valid) { rejectValue(errors, field, va); return false; } return true; }
From source file:us.mn.state.health.lims.common.util.validator.ValidWhen.java
/** * Checks if the field matches the boolean expression specified in * <code>test</code> parameter. * /*from w w w. j a va2 s . c om*/ * @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 <code>true</code> if meets stated requirements, * <code>false</code> otherwise. */ public static boolean validateValidWhen(Object bean, ValidatorAction va, Field field, ActionMessages errors, Validator validator, HttpServletRequest request) { Object form = validator.getParameterValue(Validator.BEAN_PARAM); String value = null; boolean valid = false; int index = -1; if (field.isIndexed()) { String key = field.getKey(); final int leftBracket = key.indexOf("["); final int rightBracket = key.indexOf("]"); if ((leftBracket > -1) && (rightBracket > -1)) { index = Integer.parseInt(key.substring(leftBracket + 1, rightBracket)); } } if (isString(bean)) { value = (String) bean; } else { value = ValidatorUtils.getValueAsString(bean, field.getProperty()); } String test = field.getVarValue("test"); if (test == null) { String msg = "ValidWhen Error 'test' parameter is missing for field ' " + field.getKey() + "'"; errors.add(field.getKey(), new ActionMessage(msg, false)); //bugzilla 2154 LogEvent.logError("ValidWhen", "validateValidWhen()", msg); return false; } // Create the Lexer ValidWhenLexer lexer = null; try { lexer = new ValidWhenLexer(new StringReader(test)); } catch (Exception ex) { String msg = "ValidWhenLexer Error for field ' " + field.getKey() + "' - " + ex; errors.add(field.getKey(), new ActionMessage(msg + " - " + ex, false)); //bugzilla 2154 LogEvent.logError("ValidWhen", "validateValidWhen()", ex.toString()); LogEvent.logDebug("ValidWhen", "validateValidWhen", msg); return false; } // Create the Parser ValidWhenParser parser = null; try { parser = new ValidWhenParser(lexer); } catch (Exception ex) { String msg = "ValidWhenParser Error for field ' " + field.getKey() + "' - " + ex; errors.add(field.getKey(), new ActionMessage(msg, false)); //bugzilla 2154 LogEvent.logError("ValidWhen", "validateValidWhen()", ex.toString()); LogEvent.logDebug("ValidWhen", "validateValidWhen", msg); return false; } parser.setForm(form); parser.setIndex(index); parser.setValue(value); try { parser.expression(); valid = parser.getResult(); } catch (Exception ex) { // errors.add( // field.getKey(), // Resources.getActionMessage(validator, request, va, field)); String msg = "ValidWhen Error for field ' " + field.getKey() + "' - " + ex; errors.add(field.getKey(), new ActionMessage(msg, false)); //bugzilla 2154 LogEvent.logError("ValidWhen", "validateValidWhen()", ex.toString()); LogEvent.logDebug("ValidWhen", "validateValidWhen", msg); return false; } if (!valid) { errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field)); return false; } return true; }