use of com.vaadin.flow.data.binder.ValidationResult in project flow by vaadin.
the class NotEmptyValidatorTest method nonNullValueIsAllowed.
@Test
public void nonNullValueIsAllowed() {
NotEmptyValidator<Object> validator = new NotEmptyValidator<>("foo");
Object value = new Object();
ValidationResult result = validator.apply(value, new ValueContext());
Assert.assertFalse(result.isError());
Assert.assertFalse(result.isError());
}
use of com.vaadin.flow.data.binder.ValidationResult in project flow by vaadin.
the class NotEmptyValidatorTest method emptyValueIsDisallowed.
@Test
public void emptyValueIsDisallowed() {
NotEmptyValidator<String> validator = new NotEmptyValidator<>("foo");
ValidationResult result = validator.apply("", new ValueContext());
Assert.assertTrue(result.isError());
Assert.assertEquals("foo", result.getErrorMessage());
}
use of com.vaadin.flow.data.binder.ValidationResult in project flow by vaadin.
the class ValidatorTestBase method assertFails.
protected <T> void assertFails(T value, String errorMessage, Validator<? super T> validator) {
ValidationResult result = validator.apply(value, new ValueContext(localeContext));
Assert.assertTrue(result.isError());
Assert.assertEquals(errorMessage, result.getErrorMessage());
}
use of com.vaadin.flow.data.binder.ValidationResult 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 com.vaadin.flow.data.binder.ValidationResult in project flow by vaadin.
the class NotEmptyValidatorTest method nullValueIsDisallowed.
@Test
public void nullValueIsDisallowed() {
NotEmptyValidator<String> validator = new NotEmptyValidator<>("foo");
ValidationResult result = validator.apply(null, new ValueContext());
Assert.assertTrue(result.isError());
Assert.assertEquals("foo", result.getErrorMessage());
}
Aggregations