use of com.opensymphony.xwork2.validator.Validator in project struts by apache.
the class AnnotationActionValidatorManagerTest method testSkipAllActionLevelShortCircuit2.
public void testSkipAllActionLevelShortCircuit2() {
// get validators
List validatorList = annotationActionValidatorManager.getValidators(AnnotationUser.class, null);
assertEquals(10, validatorList.size());
try {
AnnotationUser user = new AnnotationUser();
user.setName("Mark");
// * mark both email to starts with mark to get pass the action-level validator,
// so we could concentrate on testing the field-level validators (AnnotationUser-validation.xml)
// * make both email the same to pass the action-level validator at
// AnnotationUserMarker-validation.xml
user.setEmail("mark_bad_email_for_field_val@foo.com");
user.setEmail2("mark_bad_email_for_field_val@foo.com");
ValidatorContext context = new DummyValidatorContext(user, tpf);
annotationActionValidatorManager.validate(user, null, context);
assertTrue(context.hasFieldErrors());
// check field errors
// we have an error in this field level, email does not ends with mycompany.com
List l = context.getFieldErrors().get("email");
assertNotNull(l);
// because email-field-val is short-circuit
assertEquals(1, l.size());
assertEquals("Email not from the right company.", l.get(0));
// check action errors
l = (List) context.getActionErrors();
assertFalse(context.hasActionErrors());
assertEquals(0, l.size());
} catch (ValidationException ex) {
ex.printStackTrace();
fail("Validation error: " + ex.getMessage());
}
}
use of com.opensymphony.xwork2.validator.Validator in project struts by apache.
the class AnnotationActionValidatorManagerTest method no_testGetValidatorsFromInterface.
public void no_testGetValidatorsFromInterface() {
List validatorList = annotationActionValidatorManager.getValidators(SimpleAnnotationAction3.class, alias);
// 17 in the class hierarchy + 1 in the interface + 1 in interface alias
assertEquals(19, validatorList.size());
final FieldValidator v = (FieldValidator) validatorList.get(0);
assertEquals("bar", v.getFieldName());
assertTrue(v instanceof RequiredFieldValidator);
final FieldValidator v1 = (FieldValidator) validatorList.get(1);
assertEquals("bar", v1.getFieldName());
assertTrue(v1 instanceof IntRangeFieldValidator);
final FieldValidator vdouble = (FieldValidator) validatorList.get(2);
assertEquals("percentage", vdouble.getFieldName());
assertTrue(vdouble instanceof DoubleRangeFieldValidator);
final FieldValidator v2 = (FieldValidator) validatorList.get(3);
assertEquals("baz", v2.getFieldName());
assertTrue(v2 instanceof IntRangeFieldValidator);
final FieldValidator v3 = (FieldValidator) validatorList.get(4);
assertEquals("date", v3.getFieldName());
assertTrue(v3 instanceof DateRangeFieldValidator);
// action-level validator comes first
final Validator v4 = (Validator) validatorList.get(5);
assertTrue(v4 instanceof ExpressionValidator);
// action-level validator comes first
final Validator v5 = (Validator) validatorList.get(6);
assertTrue(v5 instanceof ExpressionValidator);
// action-level validator comes first
final Validator v6 = (Validator) validatorList.get(7);
assertTrue(v6 instanceof ExpressionValidator);
// action-level validator comes first
final Validator v7 = (Validator) validatorList.get(8);
assertTrue(v7 instanceof ExpressionValidator);
// action-level validator comes first
final Validator v8 = (Validator) validatorList.get(9);
assertTrue(v8 instanceof ExpressionValidator);
final FieldValidator v9 = (FieldValidator) validatorList.get(10);
assertEquals("datefield", v9.getFieldName());
assertTrue(v9 instanceof DateRangeFieldValidator);
final FieldValidator v10 = (FieldValidator) validatorList.get(11);
assertEquals("emailaddress", v10.getFieldName());
assertTrue(v10 instanceof EmailValidator);
final FieldValidator v11 = (FieldValidator) validatorList.get(12);
assertEquals("intfield", v11.getFieldName());
assertTrue(v11 instanceof IntRangeFieldValidator);
final FieldValidator v12 = (FieldValidator) validatorList.get(13);
assertEquals("customfield", v12.getFieldName());
assertTrue(v12 instanceof RequiredFieldValidator);
final FieldValidator v13 = (FieldValidator) validatorList.get(14);
assertEquals("stringisrequired", v13.getFieldName());
assertTrue(v13 instanceof RequiredStringValidator);
final FieldValidator v14 = (FieldValidator) validatorList.get(15);
assertEquals("needstringlength", v14.getFieldName());
assertTrue(v14 instanceof StringLengthFieldValidator);
final FieldValidator v15 = (FieldValidator) validatorList.get(16);
assertEquals("hreflocation", v15.getFieldName());
assertTrue(v15 instanceof URLValidator);
final FieldValidator v16 = (FieldValidator) validatorList.get(17);
assertEquals("data", v16.getFieldName());
assertTrue(v16 instanceof RequiredFieldValidator);
final FieldValidator v17 = (FieldValidator) validatorList.get(18);
assertEquals("data", v17.getFieldName());
assertTrue(v17 instanceof RequiredStringValidator);
}
use of com.opensymphony.xwork2.validator.Validator in project struts by apache.
the class AnnotationValidationConfigurationBuilderTest method testValidationAnnotationExpParams.
public void testValidationAnnotationExpParams() throws Exception {
// given
AnnotationActionValidatorManager manager = createValidationManager(AnnotationValidationExpAction.class, Locale.US);
// when
List<Validator> validators = manager.getValidators(AnnotationValidationExpAction.class, null);
// then
ValueStack valueStack = container.getInstance(ValueStackFactory.class).createValueStack();
valueStack.push(new AnnotationValidationExpAction());
assertEquals(validators.size(), 16);
for (Validator validator : validators) {
validator.setValueStack(valueStack);
validate(validator);
}
}
use of com.opensymphony.xwork2.validator.Validator in project struts by apache.
the class EmailValidatorTest method verifyEmailValidity.
protected boolean verifyEmailValidity(final String email) throws Exception {
ActionSupport action = new ActionSupport() {
public String getMyEmail() {
return email;
}
};
EmailValidator validator = new EmailValidator();
validator.setValidatorContext(new DelegatingValidatorContext(action, tpf));
validator.setFieldName("myEmail");
validator.setDefaultMessage("invalid email");
validator.setValueStack(ActionContext.getContext().getValueStack());
validator.validate(action);
return (action.getFieldErrors().size() == 0);
}
use of com.opensymphony.xwork2.validator.Validator in project struts by apache.
the class EmailValidatorTest method verifyTrim.
private EmailValidator verifyTrim(final boolean trim) {
ActionSupport action = new ActionSupport() {
public boolean getTrimEmail() {
return trim;
}
};
EmailValidator validator = new EmailValidator();
ValueStack valueStack = ActionContext.getContext().getValueStack();
valueStack.push(action);
validator.setValueStack(valueStack);
validator.setTrimExpression("${trimEmail}");
return validator;
}
Aggregations