use of javax.validation.MessageInterpolator.Context in project flow by vaadin.
the class BeanValidator method apply.
/**
* Validates the given value as if it were the value of the bean property
* configured for this validator. Returns {@code Result.ok} if there are no
* JSR-303 constraint violations, a {@code Result.error} of chained
* constraint violation messages otherwise.
* <p>
* Null values are accepted unless the property has an {@code @NotNull}
* annotation or equivalent.
*
* @param value
* the input value to validate
* @param context
* the value context for validation
* @return the validation result
*/
@Override
public ValidationResult apply(final Object value, ValueContext context) {
Set<? extends ConstraintViolation<?>> violations = getJavaxBeanValidator().validateValue(beanType, propertyName, value);
Locale locale = context.getLocale().orElse(Locale.getDefault());
Optional<ValidationResult> result = violations.stream().map(violation -> ValidationResult.error(getMessage(violation, locale))).findFirst();
return result.orElse(ValidationResult.ok());
}
use of javax.validation.MessageInterpolator.Context in project tapestry-5 by apache.
the class BeanFieldValidator method interpolateMessage.
private String interpolateMessage(final ConstraintDescriptor<?> descriptor) {
String messageTemplate = (String) descriptor.getAttributes().get("message");
MessageInterpolator messageInterpolator = validatorFactory.getMessageInterpolator();
return messageInterpolator.interpolate(messageTemplate, new Context() {
@Override
public ConstraintDescriptor<?> getConstraintDescriptor() {
return descriptor;
}
@Override
public Object getValidatedValue() {
return null;
}
});
}
Aggregations