use of org.apache.tapestry5.FieldValidator in project tapestry-5 by apache.
the class ValidateBindingFactoryTest method success.
@Test
public void success() {
FieldValidatorSource source = mockFieldValidatorSource();
ComponentResources container = mockComponentResources();
ComponentResources component = mockComponentResources();
FieldComponent instance = mockFieldComponent();
Location l = mockLocation();
FieldValidator validator = mockFieldValidator();
String expression = "required,minLength=5";
train_getComponent(component, instance);
expect(source.createValidators(instance, expression)).andReturn(validator);
replay();
BindingFactory factory = new ValidateBindingFactory(source, interner);
Binding binding = factory.newBinding("descrip", container, component, expression, l);
assertSame(binding.get(), validator);
verify();
}
use of org.apache.tapestry5.FieldValidator in project tapestry-5 by apache.
the class TapestryModule method decorateFieldValidatorDefaultSource.
/**
* Decorate FieldValidatorDefaultSource to setup the EnvironmentMessages
* object and place it in the environment.
* Although this could have been implemented directly in the default
* implementation of the service, doing it
* as service decoration ensures that the environment will be properly setup
* even if a user overrides the default
* service implementation.
*
* @param defaultSource
* The service to decorate
* @param environment
*/
public static FieldValidatorDefaultSource decorateFieldValidatorDefaultSource(final FieldValidatorDefaultSource defaultSource, final Environment environment) {
return new FieldValidatorDefaultSource() {
public FieldValidator createDefaultValidator(Field field, String overrideId, Messages overrideMessages, Locale locale, Class propertyType, AnnotationProvider propertyAnnotations) {
environment.push(EnvironmentMessages.class, new EnvironmentMessages(overrideMessages, overrideId));
FieldValidator fieldValidator = defaultSource.createDefaultValidator(field, overrideId, overrideMessages, locale, propertyType, propertyAnnotations);
environment.pop(EnvironmentMessages.class);
return fieldValidator;
}
public FieldValidator createDefaultValidator(ComponentResources resources, String parameterName) {
EnvironmentMessages em = new EnvironmentMessages(resources.getContainerMessages(), resources.getId());
environment.push(EnvironmentMessages.class, em);
FieldValidator fieldValidator = defaultSource.createDefaultValidator(resources, parameterName);
environment.pop(EnvironmentMessages.class);
return fieldValidator;
}
};
}
use of org.apache.tapestry5.FieldValidator in project tapestry-5 by apache.
the class KaptchaField method beginRender.
@SuppressWarnings("rawtypes")
boolean beginRender(MarkupWriter writer) {
writer.element("input", "type", visible ? "text" : "password", "id", getClientId(), "class", "form-control", "name", getControlName(), "value", visible ? validationTracker.getInput(this) : "");
resources.renderInformalParameters(writer);
FieldValidator fieldValidator = fieldValidatorSource.createValidator(this, "required", null);
fieldValidator.render(writer);
writer.end();
return false;
}
Aggregations