#1757 - Add support for javax.validation.constraints.NotBlank.

The presence of @NonBlank on a representation model's property now causes it to be considered required. It will also cause a default pattern exposed that allows clients to validate input values.

Fixes #1757.
This commit is contained in:
Faron Dutton
2022-01-18 12:36:26 -05:00
committed by Oliver Drotbohm
parent c501fa20f7
commit 1f6f1e24d4
2 changed files with 28 additions and 2 deletions

View File

@@ -31,6 +31,7 @@ import java.util.Optional;
import java.util.stream.Stream;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
@@ -158,10 +159,20 @@ class PropertyUtilsTest {
assertThat(it.isRequired()).isTrue();
});
assertThat(getProperty(metadata, "nonBlank")).hasValueSatisfying(it -> {
assertThat(it.isRequired()).isTrue();
assertThat(it.getPattern()).hasValue(PropertyUtils.NOT_BLANK_REGEX);
});
assertThat(getProperty(metadata, "pattern")).hasValueSatisfying(it -> {
assertThat(it.getPattern()).hasValue("\\w");
});
assertThat(getProperty(metadata, "nonBlankPattern")).hasValueSatisfying(it -> {
assertThat(it.isRequired()).isTrue();
assertThat(it.getPattern()).hasValue("\\w");
});
assertThat(getProperty(metadata, "annotated")).hasValueSatisfying(it -> {
assertThat(it.getPattern()).hasValue("regex");
});
@@ -250,7 +261,9 @@ class PropertyUtilsTest {
static class Jsr303SamplePayload {
@NotNull String nonNull;
@NotBlank String nonBlank;
@Pattern(regexp = "\\w") String pattern;
@NotBlank @Pattern(regexp = "\\w") String nonBlankPattern;
TypeAnnotated annotated;
}