/** * Gets the default <code>Arg</code> object at the given position. * @param position Validation message argument's position. * @return The default Arg or null if not found. * @since Validator 1.1 */ public Arg getArg(int position) { return this.getArg(DEFAULT_ARG, position); }
/** * test Field with only 'default' arguments, position specified for one argument */ public void testDefaultOnePosition() { field.addArg(createArg("default-position-0")); field.addArg(createArg("default-position-2", 2)); field.addArg(createArg("default-position-3")); assertEquals("testDefaultOnePosition(1) ", 4, field.getArgs("required").length); assertEquals("testDefaultOnePosition(2) ", "default-position-0", field.getArg("required", 0).getKey()); assertNull("testDefaultOnePosition(3) ", field.getArg("required", 1)); assertEquals("testDefaultOnePosition(4) ", "default-position-2", field.getArg("required", 2).getKey()); assertEquals("testDefaultOnePosition(5) ", "default-position-3", field.getArg("required", 3).getKey()); }
/** * test Field with a 'default' argument overriden without positions specified. */ public void testOverridePositionImplied() { field.addArg(createArg("default-position-0")); field.addArg(createArg("required-position-1", "required")); field.addArg(createArg("required-position-2", "required")); field.addArg(createArg("mask-position-1", "mask")); // use 'required' as name assertEquals("testOverridePositionImplied(1) ", 3, field.getArgs("required").length); assertEquals("testOverridePositionImplied(2) ", "default-position-0", field.getArg("required", 0).getKey()); assertEquals("testOverridePositionImplied(3) ", "required-position-1", field.getArg("required", 1).getKey()); assertEquals("testOverridePositionImplied(4) ", "required-position-2", field.getArg("required", 2).getKey()); // use 'mask' as name assertEquals("testOverridePositionImplied(5) ", 3, field.getArgs("mask").length); assertEquals("testOverridePositionImplied(6) ", "default-position-0", field.getArg("mask", 0).getKey()); assertEquals("testOverridePositionImplied(7) ", "mask-position-1", field.getArg("mask", 1).getKey()); assertNull("testOverridePositionImplied(8) ", field.getArg("mask", 2)); // Get Defaults assertEquals("testOverridePositionImplied(9) ", "default-position-0", field.getArg(0).getKey()); assertNull("testOverridePositionImplied(10) ", field.getArg(1)); assertNull("testOverridePositionImplied(11) ", field.getArg(2)); }
/** * Retrieves the Args for the given validator name. * @param key The validator's args to retrieve. * @return An Arg[] sorted by the Args' positions (i.e. the Arg at index 0 * has a position of 0). * @since Validator 1.1.1 */ public Arg[] getArgs(String key){ Arg[] args = new Arg[this.args.length]; for (int i = 0; i < this.args.length; i++) { args[i] = this.getArg(key, i); } return args; }
/** * test Field with only 'default' arguments, positions specified. */ public void testDefaultUsingPositions() { field.addArg(createArg("default-position-1", 1)); field.addArg(createArg("default-position-0", 0)); field.addArg(createArg("default-position-2", 2)); assertEquals("testDefaultUsingPositions(1) ", 3, field.getArgs("required").length); assertEquals("testDefaultUsingPositions(2) ", "default-position-0", field.getArg("required", 0).getKey()); assertEquals("testDefaultUsingPositions(3) ", "default-position-1", field.getArg("required", 1).getKey()); assertEquals("testDefaultUsingPositions(4) ", "default-position-2", field.getArg("required", 2).getKey()); }
/** * Gets the <code>Arg</code> object at the given position. If the key * finds a <code>null</code> value then the default value will be * retrieved. * @param key The name the Arg is stored under. If not found, the default * Arg for the given position (if any) will be retrieved. * @param position The Arg number to find. * @return The Arg with the given name and position or null if not found. * @since Validator 1.1 */ public Arg getArg(String key, int position) { if ((position >= this.args.length) || (this.args[position] == null)) { return null; } Arg arg = args[position].get(key); // Didn't find default arg so exit, otherwise we would get into // infinite recursion if ((arg == null) && key.equals(DEFAULT_ARG)) { return null; } return (arg == null) ? this.getArg(position) : arg; }
/** * test Field with only 'default' arguments, no positions specified. */ public void testDefaultPositionImplied() { field.addArg(createArg("default-position-0")); field.addArg(createArg("default-position-1")); field.addArg(createArg("default-position-2")); assertEquals("testDefaultPositionImplied(1) ", 3, field.getArgs("required").length); assertEquals("testDefaultPositionImplied(2) ", "default-position-0", field.getArg("required", 0).getKey()); assertEquals("testDefaultPositionImplied(3) ", "default-position-1", field.getArg("required", 1).getKey()); assertEquals("testDefaultPositionImplied(4) ", "default-position-2", field.getArg("required", 2).getKey()); }
/** * Tests if we can override a rule. We "can" override a rule if the message shown * when the firstName required test fails and the lastName test is null. */ public void testOverrideRule() throws ValidatorException { // Create bean to run test on. NameBean name = new NameBean(); name.setLastName("Smith"); // Construct validator based on the loaded resources // and the form key Validator validator = new Validator(resources, FORM_KEY2); // add the name bean to the validator as a resource // for the validations to be performed on. validator.setParameter(Validator.BEAN_PARAM, name); // Get results of the validation. ValidatorResults results = null; results = validator.validate(); assertNotNull("Results are null.", results); ValidatorResult firstNameResult = results.getValidatorResult("firstName"); ValidatorResult lastNameResult = results.getValidatorResult("lastName"); assertNotNull("First Name ValidatorResult should not be null.", firstNameResult); assertTrue("First Name ValidatorResult for the '" + ACTION +"' action should have '" + CHECK_MSG_KEY + " as a key.", firstNameResult.field.getArg(0).getKey().equals(CHECK_MSG_KEY)); assertNull("Last Name ValidatorResult should be null.", lastNameResult); }
/** * test Field with only 'default' arguments, some position specified. */ public void testDefaultSomePositions() { field.addArg(createArg("default-position-0")); field.addArg(createArg("default-position-2", 2)); field.addArg(createArg("default-position-3")); field.addArg(createArg("default-position-1", 1)); assertEquals("testDefaultSomePositions(1) ", 4, field.getArgs("required").length); assertEquals("testDefaultSomePositions(2) ", "default-position-0", field.getArg("required", 0).getKey()); assertEquals("testDefaultSomePositions(3) ", "default-position-1", field.getArg("required", 1).getKey()); assertEquals("testDefaultSomePositions(4) ", "default-position-2", field.getArg("required", 2).getKey()); assertEquals("testDefaultSomePositions(5) ", "default-position-3", field.getArg("required", 3).getKey()); }
/** * Gets the default <code>Arg</code> object at the given position. * @param position Validation message argument's position. * @return The default Arg or null if not found. * @since Validator 1.1 */ public Arg getArg(int position) { return this.getArg(DEFAULT_ARG, position); }
/** * test Field with a 'default' argument overriden using 'position' property */ public void testOverrideUsingPositionB() { field.addArg(createArg("required-position-3", "required", 3)); field.addArg(createArg("required-position-1", "required", 1)); field.addArg(createArg("default-position-0")); field.addArg(createArg("default-position-1")); field.addArg(createArg("default-position-2")); // use 'required' as name assertEquals("testOverrideUsingPositionB(1) ", 4, field.getArgs("required").length); assertEquals("testOverrideUsingPositionB(2) ", "default-position-0", field.getArg("required", 0).getKey()); assertEquals("testOverrideUsingPositionB(3) ", "required-position-1", field.getArg("required", 1).getKey()); assertEquals("testOverrideUsingPositionB(4) ", "default-position-2", field.getArg("required", 2).getKey()); assertEquals("testOverrideUsingPositionB(5) ", "required-position-3", field.getArg("required", 3).getKey()); // use 'mask' as name assertEquals("testOverrideUsingPositionB(6) ", 4, field.getArgs("mask").length); assertEquals("testOverrideUsingPositionB(6) ", "default-position-0", field.getArg("mask", 0).getKey()); assertEquals("testOverrideUsingPositionB(7) ", "default-position-1", field.getArg("mask", 1).getKey()); assertEquals("testOverrideUsingPositionB(8) ", "default-position-2", field.getArg("mask", 2).getKey()); assertNull("testOverrideUsingPositionB(9) ", field.getArg("mask", 3)); }
/** * Gets the default <code>Arg</code> object at the given position. * @param position Validation message argument's position. * @return The default Arg or null if not found. * @since Validator 1.1 */ public Arg getArg(int position) { return this.getArg(DEFAULT_ARG, position); }
/** * test Field with a 'default' argument overriden with some positions specified */ public void testOverrideSomePosition() { field.addArg(createArg("default-position-0")); field.addArg(createArg("default-position-1")); field.addArg(createArg("default-position-2")); field.addArg(createArg("required-position-1", "required", 1)); field.addArg(createArg("required-position-2", "required")); field.addArg(createArg("mask-position-3", "mask")); // use 'required' as name assertEquals("testOverrideSomePosition(1) ", 4, field.getArgs("required").length); assertEquals("testOverrideSomePosition(2) ", "default-position-0", field.getArg("required", 0).getKey()); assertEquals("testOverrideSomePosition(3) ", "required-position-1", field.getArg("required", 1).getKey()); assertEquals("testOverrideSomePosition(4) ", "required-position-2", field.getArg("required", 2).getKey()); assertNull("testOverrideSomePosition(5) ", field.getArg("required", 3)); // use 'mask' as name assertEquals("testOverrideSomePosition(6) ", 4, field.getArgs("mask").length); assertEquals("testOverrideSomePosition(7) ", "default-position-0", field.getArg("mask", 0).getKey()); assertEquals("testOverrideSomePosition(8) ", "default-position-1", field.getArg("mask", 1).getKey()); assertEquals("testOverrideSomePosition(9) ", "default-position-2", field.getArg("mask", 2).getKey()); assertEquals("testOverrideSomePosition(10) ", "mask-position-3", field.getArg("mask", 3).getKey()); // Get Defaults assertEquals("testOverrideSomePosition(11) ", "default-position-0", field.getArg(0).getKey()); assertEquals("testOverrideSomePosition(12) ", "default-position-1", field.getArg(1).getKey()); assertEquals("testOverrideSomePosition(13) ", "default-position-2", field.getArg(2).getKey()); assertNull("testOverrideSomePosition(14) ", field.getArg(3)); }
/** * Retrieves the Args for the given validator name. * @param key The validator's args to retrieve. * @return An Arg[] sorted by the Args' positions (i.e. the Arg at index 0 * has a position of 0). * @since Validator 1.1.1 */ public Arg[] getArgs(String key){ Arg[] args = new Arg[this.args.length]; for (int i = 0; i < this.args.length; i++) { args[i] = this.getArg(key, i); } return args; }
/** * test Field with a 'default' argument overriden using 'position' property */ public void testOverrideUsingPositionA() { field.addArg(createArg("default-position-0")); field.addArg(createArg("default-position-1")); field.addArg(createArg("default-position-2")); field.addArg(createArg("required-position-1", "required", 1)); // use 'required' as name assertEquals("testOverrideUsingPositionA(1) ", 3, field.getArgs("required").length); assertEquals("testOverrideUsingPositionA(2) ", "required-position-1", field.getArg("required", 1).getKey()); // use 'mask' as name assertEquals("testOverrideUsingPositionA(3) ", 3, field.getArgs("mask").length); assertEquals("testOverrideUsingPositionA(4) ", "default-position-1", field.getArg("mask", 1).getKey()); // Get Default assertEquals("testOverrideUsingPositionA(5) ", "default-position-1", field.getArg(1).getKey()); }
/** * Retrieves the Args for the given validator name. * @param key The validator's args to retrieve. * @return An Arg[] sorted by the Args' positions (i.e. the Arg at index 0 * has a position of 0). * @since Validator 1.1.1 */ public Arg[] getArgs(String key){ Arg[] args = new Arg[this.args.length]; for (int i = 0; i < this.args.length; i++) { args[i] = this.getArg(key, i); } return args; }
/** * Gets the <code>Arg</code> object at the given position. If the key * finds a <code>null</code> value then the default value will be * retrieved. * @param key The name the Arg is stored under. If not found, the default * Arg for the given position (if any) will be retrieved. * @param position The Arg number to find. * @return The Arg with the given name and position or null if not found. * @since Validator 1.1 */ public Arg getArg(String key, int position) { if ((position >= this.args.length) || (this.args[position] == null)) { return null; } Arg arg = args[position].get(key); // Didn't find default arg so exit, otherwise we would get into // infinite recursion if ((arg == null) && key.equals(DEFAULT_ARG)) { return null; } return (arg == null) ? this.getArg(position) : arg; }
/** * Validates a password verification field which requires that the * value exactly match the String value of the bean property * referenced by property argument 1 (probably "password"). * * @param bean containing the fields to validate. * @param Field object containing the property resource info. * */ public static boolean validatePasswordVerification (Object bean, Field field){ boolean valid = false; String pwdv = ValidatorUtils.getValueAsString(bean, field.getProperty()); String pwd = ValidatorUtils.getValueAsString(bean, field.getArg(1).getKey()); // compare the pw verification field to the pw field. if ( (pwd != null && pwdv!=null) && (pwdv.compareTo(pwd)==0) ) valid = true; return valid; }
public static boolean validate(Object bean, ValidatorAction va, Field field, ActionMessages errors, HttpServletRequest request, ServletContext application) { try { DynaActionForm form = (DynaActionForm) bean; String sProperty = field.getProperty(); Object[] multiBox = (Object[]) form.get(sProperty); String feminin = field.getVarValue("femininProperty"); if ((multiBox != null) && (multiBox.length > 0)) { return true; } if (feminin != null && feminin.equalsIgnoreCase("true")) { errors.add(field.getKey(), new ActionError("errors.required.a.checkbox", field.getArg(0).getKey())); } else { errors.add(field.getKey(), new ActionError("errors.required.checkbox", field.getArg(0).getKey())); } return false; } catch (Exception e) { errors.add(field.getKey(), new ActionError("errors.required.undefined.checkbox", field.getArg(0).getKey())); return false; } } }
public static boolean validate(Object bean, ValidatorAction va, Field field, ActionMessages errors, HttpServletRequest request, ServletContext application) { try { DynaActionForm form = (DynaActionForm) bean; Boolean selectAllBox = (Boolean) form.get(field.getProperty()); String sProperty2 = field.getVarValue("secondProperty"); String[] multiBox = (String[]) form.get(sProperty2); if (((selectAllBox != null) && selectAllBox.booleanValue()) || (multiBox != null) && (multiBox.length > 0)) { return true; } errors.add(field.getKey(), new ActionMessage("errors.required.checkbox", field.getArg(0).getKey())); return false; } catch (Exception e) { errors.add(field.getKey(), new ActionMessage("errors.required.checkbox", field.getArg(0).getKey())); return false; } }