From 3c03b8956c33a05d0fcbcc0a8aa49a59365935c7 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Wed, 2 Aug 2023 00:00:57 +1200 Subject: [PATCH 1/6] With @Length(max=..) we get the msg "Length must be between 0 and ..." But it would be nicer to have a msg more like: "maximum length {max} exceeded" as the min is not used in the validation --- .../src/test/java/example/avaje/length/ALengthTest.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java b/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java index 18d360b1..90653556 100644 --- a/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java +++ b/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java @@ -40,6 +40,12 @@ void lengthMax() { assertThat(violation.message()).isEqualTo("length must be between 1 and 3"); } + @Test + void lengthOnlyMax() { + var violation = one(new ALength("ok", "TooLargeHere", "ok", "ok")); + assertThat(violation.message()).isEqualTo("length must be between 0 and 5"); + } + @Test void lengthMaxDE() { var violation = one(new ALength("TooLarge", "ok", "ok", "ok"), Locale.GERMAN); From cbe0a2aca0dc6e05fdf2263686ed3622a8a116bf Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Wed, 2 Aug 2023 00:03:32 +1200 Subject: [PATCH 2/6] With @Length(max=..) use "maximum length {max} exceeded" So use a more specific message when only max is specified as the min is not used in the validation (so to me the message including the min 0 isn't as good). --- .../src/test/java/example/avaje/length/ALengthTest.java | 2 +- .../io/avaje/validation/adapter/ValidationContext.java | 2 ++ .../java/io/avaje/validation/core/CoreAdapterBuilder.java | 7 +++++++ .../io/avaje/validation/core/adapters/BasicAdapters.java | 6 +++++- .../main/resources/io/avaje/validation/Messages.properties | 1 + 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java b/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java index 90653556..6c6e65bc 100644 --- a/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java +++ b/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java @@ -43,7 +43,7 @@ void lengthMax() { @Test void lengthOnlyMax() { var violation = one(new ALength("ok", "TooLargeHere", "ok", "ok")); - assertThat(violation.message()).isEqualTo("length must be between 0 and 5"); + assertThat(violation.message()).isEqualTo("maximum length 5 exceeded"); } @Test diff --git a/validator/src/main/java/io/avaje/validation/adapter/ValidationContext.java b/validator/src/main/java/io/avaje/validation/adapter/ValidationContext.java index b207a50e..00445fdb 100644 --- a/validator/src/main/java/io/avaje/validation/adapter/ValidationContext.java +++ b/validator/src/main/java/io/avaje/validation/adapter/ValidationContext.java @@ -164,6 +164,8 @@ interface AdapterCreateRequest { Message message(); + Message message(String key); + String targetType(); AdapterCreateRequest withValue(long value); diff --git a/validator/src/main/java/io/avaje/validation/core/CoreAdapterBuilder.java b/validator/src/main/java/io/avaje/validation/core/CoreAdapterBuilder.java index 803918d7..b3c1d6cb 100644 --- a/validator/src/main/java/io/avaje/validation/core/CoreAdapterBuilder.java +++ b/validator/src/main/java/io/avaje/validation/core/CoreAdapterBuilder.java @@ -132,5 +132,12 @@ public Request withValue(long value) { public ValidationContext.Message message() { return ctx.message(attributes); } + + @Override + public ValidationContext.Message message(String messageKey) { + Map newAttributes = new HashMap<>(attributes); + newAttributes.put("message", messageKey); + return ctx.message(newAttributes); + } } } diff --git a/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java b/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java index 6f4d1a3f..0f575833 100644 --- a/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java +++ b/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java @@ -71,10 +71,14 @@ private static final class SizeAdapter implements ValidationAdapter { private final int max; SizeAdapter(AdapterCreateRequest request) { - this.message = request.message(); this.groups = request.groups(); this.min = (int) request.attribute("min"); this.max = (int) request.attribute("max"); + if (min == 0 && "{avaje.Length.message}".equals(request.attribute("message"))) { + this.message = request.message("{avaje.Length.max.message}"); + } else { + this.message = request.message(); + } } @Override diff --git a/validator/src/main/resources/io/avaje/validation/Messages.properties b/validator/src/main/resources/io/avaje/validation/Messages.properties index e3d9fd91..fb4269a8 100644 --- a/validator/src/main/resources/io/avaje/validation/Messages.properties +++ b/validator/src/main/resources/io/avaje/validation/Messages.properties @@ -24,6 +24,7 @@ avaje.PositiveOrZero.message = must be greater than or equal to 0 avaje.Size.message = size must be between {min} and {max} avaje.Length.message = length must be between {min} and {max} +avaje.Length.max.message = maximum length {max} exceeded avaje.Range.message = must be between {min} and {max} avaje.URI.message = must be a valid URI avaje.UUID.message = must be a valid UUID From 2db9871518a7c3e8f1329fadbdd8a112af3a54b3 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Wed, 2 Aug 2023 00:10:12 +1200 Subject: [PATCH 3/6] With @Length(max=..) Fallback from {avaje.Length.max.message} -> {avaje.Length.message} So add a specific avaje.Length.max.message on a per language basis --- .../src/test/java/example/avaje/length/ALengthTest.java | 7 +++++++ .../main/resources/io/avaje/validation/Messages.properties | 2 +- .../resources/io/avaje/validation/Messages_en.properties | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java b/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java index 6c6e65bc..d6625cb7 100644 --- a/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java +++ b/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java @@ -46,6 +46,13 @@ void lengthOnlyMax() { assertThat(violation.message()).isEqualTo("maximum length 5 exceeded"); } + @Test + void lengthOnlyMax_DE() { + // no {avaje.Length.max.message} for DE so uses fallback + var violation = one(new ALength("ok", "TooLargeHere", "ok", "ok"), Locale.GERMAN); + assertThat(violation.message()).isEqualTo("Länge muss zwischen 0 und 5 sein"); + } + @Test void lengthMaxDE() { var violation = one(new ALength("TooLarge", "ok", "ok", "ok"), Locale.GERMAN); diff --git a/validator/src/main/resources/io/avaje/validation/Messages.properties b/validator/src/main/resources/io/avaje/validation/Messages.properties index fb4269a8..64e5eaf7 100644 --- a/validator/src/main/resources/io/avaje/validation/Messages.properties +++ b/validator/src/main/resources/io/avaje/validation/Messages.properties @@ -24,7 +24,7 @@ avaje.PositiveOrZero.message = must be greater than or equal to 0 avaje.Size.message = size must be between {min} and {max} avaje.Length.message = length must be between {min} and {max} -avaje.Length.max.message = maximum length {max} exceeded +avaje.Length.max.message = {avaje.Length.message} avaje.Range.message = must be between {min} and {max} avaje.URI.message = must be a valid URI avaje.UUID.message = must be a valid UUID diff --git a/validator/src/main/resources/io/avaje/validation/Messages_en.properties b/validator/src/main/resources/io/avaje/validation/Messages_en.properties index 4dcb972b..bf046d03 100644 --- a/validator/src/main/resources/io/avaje/validation/Messages_en.properties +++ b/validator/src/main/resources/io/avaje/validation/Messages_en.properties @@ -1 +1,2 @@ ## Intentionally blank +avaje.Length.max.message = maximum length {max} exceeded From 460df6f81f6d82204bacf2621c9e4f6f097b70bb Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Wed, 2 Aug 2023 00:16:39 +1200 Subject: [PATCH 4/6] With @Size(max=..) Use {avaje.Size.max.message} en -> "maximum size {max} exceeded" Fallback for all non-en language to {avaje.Size.message} --- .../src/test/java/example/avaje/ACustomerMessageTest.java | 2 +- .../src/test/java/example/avaje/nested/ANestedTest.java | 4 ++-- .../example/avaje/nested/ANestedWithNullableTest.java | 8 ++++---- .../test/java/example/jakarta/JCustomerMessageTest.java | 2 +- .../io/avaje/validation/core/adapters/BasicAdapters.java | 2 ++ .../resources/io/avaje/validation/Messages.properties | 1 + .../resources/io/avaje/validation/Messages_en.properties | 1 + 7 files changed, 12 insertions(+), 8 deletions(-) diff --git a/blackbox-test/src/test/java/example/avaje/ACustomerMessageTest.java b/blackbox-test/src/test/java/example/avaje/ACustomerMessageTest.java index 1b07892c..7cc3dad9 100644 --- a/blackbox-test/src/test/java/example/avaje/ACustomerMessageTest.java +++ b/blackbox-test/src/test/java/example/avaje/ACustomerMessageTest.java @@ -36,7 +36,7 @@ void blankDE() { @Test void sizeMax() { var violation = one(new ACustomer("NameIsTooLarge", "Other")); - assertThat(violation.message()).isEqualTo("size must be between 0 and 5"); + assertThat(violation.message()).isEqualTo("maximum size 5 exceeded"); } @Test diff --git a/blackbox-test/src/test/java/example/avaje/nested/ANestedTest.java b/blackbox-test/src/test/java/example/avaje/nested/ANestedTest.java index 38396071..b3d53181 100644 --- a/blackbox-test/src/test/java/example/avaje/nested/ANestedTest.java +++ b/blackbox-test/src/test/java/example/avaje/nested/ANestedTest.java @@ -26,7 +26,7 @@ void validateNested() { var v0 = violations.get(0); assertThat(v0.path()).isEqualTo("lastName"); assertThat(v0.field()).isEqualTo("lastName"); - assertThat(v0.message()).isEqualTo("size must be between 0 and 5"); + assertThat(v0.message()).isEqualTo("maximum size 5 exceeded"); var v1 = violations.get(1); assertThat(v1.path()).isEqualTo("address.line1"); @@ -36,7 +36,7 @@ void validateNested() { var v2 = violations.get(2); assertThat(v2.path()).isEqualTo("address.line2"); assertThat(v2.field()).isEqualTo("line2"); - assertThat(v2.message()).isEqualTo("size must be between 0 and 4"); + assertThat(v2.message()).isEqualTo("maximum size 4 exceeded"); var v3 = violations.get(3); assertThat(v3.path()).isEqualTo("address.longValue"); diff --git a/blackbox-test/src/test/java/example/avaje/nested/ANestedWithNullableTest.java b/blackbox-test/src/test/java/example/avaje/nested/ANestedWithNullableTest.java index 44ed62ec..9969e66c 100644 --- a/blackbox-test/src/test/java/example/avaje/nested/ANestedWithNullableTest.java +++ b/blackbox-test/src/test/java/example/avaje/nested/ANestedWithNullableTest.java @@ -26,7 +26,7 @@ void validateNestedSkipNullAddress() { var v0 = violations.get(0); assertThat(v0.path()).isEqualTo("lastName"); assertThat(v0.field()).isEqualTo("lastName"); - assertThat(v0.message()).isEqualTo("size must be between 0 and 5"); + assertThat(v0.message()).isEqualTo("maximum size 5 exceeded"); } } @@ -44,7 +44,7 @@ void validateNestedAddress() { var v0 = violations.get(0); assertThat(v0.path()).isEqualTo("lastName"); assertThat(v0.field()).isEqualTo("lastName"); - assertThat(v0.message()).isEqualTo("size must be between 0 and 5"); + assertThat(v0.message()).isEqualTo("maximum size 5 exceeded"); } } @@ -62,7 +62,7 @@ void validateNested() { var v0 = violations.get(0); assertThat(v0.path()).isEqualTo("lastName"); assertThat(v0.field()).isEqualTo("lastName"); - assertThat(v0.message()).isEqualTo("size must be between 0 and 5"); + assertThat(v0.message()).isEqualTo("maximum size 5 exceeded"); var v1 = violations.get(1); assertThat(v1.path()).isEqualTo("address.line1"); @@ -72,7 +72,7 @@ void validateNested() { var v2 = violations.get(2); assertThat(v2.path()).isEqualTo("address.line2"); assertThat(v2.field()).isEqualTo("line2"); - assertThat(v2.message()).isEqualTo("size must be between 0 and 4"); + assertThat(v2.message()).isEqualTo("maximum size 4 exceeded"); var v3 = violations.get(3); assertThat(v3.path()).isEqualTo("address.longValue"); diff --git a/blackbox-test/src/test/java/example/jakarta/JCustomerMessageTest.java b/blackbox-test/src/test/java/example/jakarta/JCustomerMessageTest.java index 2a572992..fe2df593 100644 --- a/blackbox-test/src/test/java/example/jakarta/JCustomerMessageTest.java +++ b/blackbox-test/src/test/java/example/jakarta/JCustomerMessageTest.java @@ -36,7 +36,7 @@ void blankDE() { @Test void sizeMax() { var violation = one(new JCustomer("NameIsTooLarge", "Other")); - assertThat(violation.message()).isEqualTo("size must be between 0 and 5"); + assertThat(violation.message()).isEqualTo("maximum size 5 exceeded"); } @Test diff --git a/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java b/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java index 0f575833..bbc8b5fb 100644 --- a/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java +++ b/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java @@ -76,6 +76,8 @@ private static final class SizeAdapter implements ValidationAdapter { this.max = (int) request.attribute("max"); if (min == 0 && "{avaje.Length.message}".equals(request.attribute("message"))) { this.message = request.message("{avaje.Length.max.message}"); + } else if (min == 0 && "{avaje.Size.message}".equals(request.attribute("message"))) { + this.message = request.message("{avaje.Size.max.message}"); } else { this.message = request.message(); } diff --git a/validator/src/main/resources/io/avaje/validation/Messages.properties b/validator/src/main/resources/io/avaje/validation/Messages.properties index 64e5eaf7..84f72925 100644 --- a/validator/src/main/resources/io/avaje/validation/Messages.properties +++ b/validator/src/main/resources/io/avaje/validation/Messages.properties @@ -22,6 +22,7 @@ avaje.Pattern.message = must match "{regexp}" avaje.Positive.message = must be greater than 0 avaje.PositiveOrZero.message = must be greater than or equal to 0 avaje.Size.message = size must be between {min} and {max} +avaje.Size.max.message = {avaje.Size.message} avaje.Length.message = length must be between {min} and {max} avaje.Length.max.message = {avaje.Length.message} diff --git a/validator/src/main/resources/io/avaje/validation/Messages_en.properties b/validator/src/main/resources/io/avaje/validation/Messages_en.properties index bf046d03..3c66c064 100644 --- a/validator/src/main/resources/io/avaje/validation/Messages_en.properties +++ b/validator/src/main/resources/io/avaje/validation/Messages_en.properties @@ -1,2 +1,3 @@ ## Intentionally blank avaje.Length.max.message = maximum length {max} exceeded +avaje.Size.max.message = maximum size {max} exceeded From 6c93e2147df5ff556617c85b1e4d184469d6c622 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Wed, 2 Aug 2023 00:32:32 +1200 Subject: [PATCH 5/6] Adjust @Size adapter to use the Length messages if _type is String or CharSequence --- .../example/avaje/nested/ANestedTest.java | 4 ++-- .../avaje/nested/ANestedWithNullableTest.java | 4 ++-- .../example/jakarta/JCustomerMessageTest.java | 2 +- .../core/adapters/BasicAdapters.java | 22 +++++++++++++++---- 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/blackbox-test/src/test/java/example/avaje/nested/ANestedTest.java b/blackbox-test/src/test/java/example/avaje/nested/ANestedTest.java index b3d53181..3d51f85c 100644 --- a/blackbox-test/src/test/java/example/avaje/nested/ANestedTest.java +++ b/blackbox-test/src/test/java/example/avaje/nested/ANestedTest.java @@ -26,7 +26,7 @@ void validateNested() { var v0 = violations.get(0); assertThat(v0.path()).isEqualTo("lastName"); assertThat(v0.field()).isEqualTo("lastName"); - assertThat(v0.message()).isEqualTo("maximum size 5 exceeded"); + assertThat(v0.message()).isEqualTo("maximum length 5 exceeded"); var v1 = violations.get(1); assertThat(v1.path()).isEqualTo("address.line1"); @@ -36,7 +36,7 @@ void validateNested() { var v2 = violations.get(2); assertThat(v2.path()).isEqualTo("address.line2"); assertThat(v2.field()).isEqualTo("line2"); - assertThat(v2.message()).isEqualTo("maximum size 4 exceeded"); + assertThat(v2.message()).isEqualTo("maximum length 4 exceeded"); var v3 = violations.get(3); assertThat(v3.path()).isEqualTo("address.longValue"); diff --git a/blackbox-test/src/test/java/example/avaje/nested/ANestedWithNullableTest.java b/blackbox-test/src/test/java/example/avaje/nested/ANestedWithNullableTest.java index 9969e66c..2408fe84 100644 --- a/blackbox-test/src/test/java/example/avaje/nested/ANestedWithNullableTest.java +++ b/blackbox-test/src/test/java/example/avaje/nested/ANestedWithNullableTest.java @@ -62,7 +62,7 @@ void validateNested() { var v0 = violations.get(0); assertThat(v0.path()).isEqualTo("lastName"); assertThat(v0.field()).isEqualTo("lastName"); - assertThat(v0.message()).isEqualTo("maximum size 5 exceeded"); + assertThat(v0.message()).isEqualTo("maximum length 5 exceeded"); var v1 = violations.get(1); assertThat(v1.path()).isEqualTo("address.line1"); @@ -72,7 +72,7 @@ void validateNested() { var v2 = violations.get(2); assertThat(v2.path()).isEqualTo("address.line2"); assertThat(v2.field()).isEqualTo("line2"); - assertThat(v2.message()).isEqualTo("maximum size 4 exceeded"); + assertThat(v2.message()).isEqualTo("maximum length 4 exceeded"); var v3 = violations.get(3); assertThat(v3.path()).isEqualTo("address.longValue"); diff --git a/blackbox-test/src/test/java/example/jakarta/JCustomerMessageTest.java b/blackbox-test/src/test/java/example/jakarta/JCustomerMessageTest.java index fe2df593..bc6a8ddb 100644 --- a/blackbox-test/src/test/java/example/jakarta/JCustomerMessageTest.java +++ b/blackbox-test/src/test/java/example/jakarta/JCustomerMessageTest.java @@ -36,7 +36,7 @@ void blankDE() { @Test void sizeMax() { var violation = one(new JCustomer("NameIsTooLarge", "Other")); - assertThat(violation.message()).isEqualTo("maximum size 5 exceeded"); + assertThat(violation.message()).isEqualTo("maximum length 5 exceeded"); } @Test diff --git a/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java b/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java index bbc8b5fb..1a82ee7d 100644 --- a/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java +++ b/validator/src/main/java/io/avaje/validation/core/adapters/BasicAdapters.java @@ -65,6 +65,10 @@ public boolean isValid(CharSequence value) { private static final class SizeAdapter implements ValidationAdapter { + private static final String LENGTH = "{avaje.Length.message}"; + private static final String LENGTH_MAX = "{avaje.Length.max.message}"; + private static final String SIZE = "{avaje.Size.message}"; + private static final String SIZE_MAX = "{avaje.Size.max.message}"; private final ValidationContext.Message message; private final Set> groups; private final int min; @@ -74,15 +78,25 @@ private static final class SizeAdapter implements ValidationAdapter { this.groups = request.groups(); this.min = (int) request.attribute("min"); this.max = (int) request.attribute("max"); - if (min == 0 && "{avaje.Length.message}".equals(request.attribute("message"))) { - this.message = request.message("{avaje.Length.max.message}"); - } else if (min == 0 && "{avaje.Size.message}".equals(request.attribute("message"))) { - this.message = request.message("{avaje.Size.max.message}"); + + final Object msgKey = request.attribute("message"); + if (min == 0 && LENGTH.equals(msgKey)) { + this.message = request.message(LENGTH_MAX); + } else if (min == 0 && SIZE.equals(msgKey)) { + this.message = request.message(useLength(request) ? LENGTH_MAX : SIZE_MAX); + } else if (SIZE.equals(msgKey) && useLength(request)) { + this.message = request.message(LENGTH); } else { this.message = request.message(); } } + /** Use 'Length' rather than 'Size' for string types */ + private static boolean useLength(AdapterCreateRequest request) { + final String targetType = request.targetType(); + return "String".equals(targetType) || "CharSequence".equals(targetType); + } + @Override public boolean validate(Object value, ValidationRequest req, String propertyName) { if (!checkGroups(groups, req) || value == null) { From c094e77f41a58d693f87ec638076d3b5df29ea20 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Wed, 2 Aug 2023 00:35:10 +1200 Subject: [PATCH 6/6] Adjust @Size adapter to use the Length messages if _type is String or CharSequence --- .../src/test/java/example/avaje/ACustomerMessageTest.java | 8 ++++---- .../src/test/java/example/avaje/length/ALengthTest.java | 2 +- .../example/avaje/nested/ANestedWithNullableTest.java | 4 ++-- .../test/java/example/jakarta/JCustomerMessageTest.java | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/blackbox-test/src/test/java/example/avaje/ACustomerMessageTest.java b/blackbox-test/src/test/java/example/avaje/ACustomerMessageTest.java index 7cc3dad9..234893b1 100644 --- a/blackbox-test/src/test/java/example/avaje/ACustomerMessageTest.java +++ b/blackbox-test/src/test/java/example/avaje/ACustomerMessageTest.java @@ -36,25 +36,25 @@ void blankDE() { @Test void sizeMax() { var violation = one(new ACustomer("NameIsTooLarge", "Other")); - assertThat(violation.message()).isEqualTo("maximum size 5 exceeded"); + assertThat(violation.message()).isEqualTo("maximum length 5 exceeded"); } @Test void sizeMaxDE() { var violation = one(new ACustomer("NameIsTooLarge", "Other"), Locale.GERMAN); - assertThat(violation.message()).isEqualTo("Größe muss zwischen 0 und 5 sein"); + assertThat(violation.message()).isEqualTo("Länge muss zwischen 0 und 5 sein"); } @Test void sizeMinMax() { var violation = one(new ACustomer("valid", "Other", "TooLarge")); - assertThat(violation.message()).isEqualTo("size must be between 2 and 4"); + assertThat(violation.message()).isEqualTo("length must be between 2 and 4"); } @Test void sizeMinMaxDE() { var violation = one(new ACustomer("valid", "Other", "TooLarge"), Locale.GERMAN); - assertThat(violation.message()).isEqualTo("Größe muss zwischen 2 und 4 sein"); + assertThat(violation.message()).isEqualTo("Länge muss zwischen 2 und 4 sein"); } @Test diff --git a/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java b/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java index d6625cb7..698abda1 100644 --- a/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java +++ b/blackbox-test/src/test/java/example/avaje/length/ALengthTest.java @@ -62,7 +62,7 @@ void lengthMaxDE() { @Test void lengthMinMax() { var violation = one(new ACustomer("valid", "Other", "TooLarge")); - assertThat(violation.message()).isEqualTo("size must be between 2 and 4"); + assertThat(violation.message()).isEqualTo("length must be between 2 and 4"); } @Test diff --git a/blackbox-test/src/test/java/example/avaje/nested/ANestedWithNullableTest.java b/blackbox-test/src/test/java/example/avaje/nested/ANestedWithNullableTest.java index 2408fe84..0beaf6c1 100644 --- a/blackbox-test/src/test/java/example/avaje/nested/ANestedWithNullableTest.java +++ b/blackbox-test/src/test/java/example/avaje/nested/ANestedWithNullableTest.java @@ -26,7 +26,7 @@ void validateNestedSkipNullAddress() { var v0 = violations.get(0); assertThat(v0.path()).isEqualTo("lastName"); assertThat(v0.field()).isEqualTo("lastName"); - assertThat(v0.message()).isEqualTo("maximum size 5 exceeded"); + assertThat(v0.message()).isEqualTo("maximum length 5 exceeded"); } } @@ -44,7 +44,7 @@ void validateNestedAddress() { var v0 = violations.get(0); assertThat(v0.path()).isEqualTo("lastName"); assertThat(v0.field()).isEqualTo("lastName"); - assertThat(v0.message()).isEqualTo("maximum size 5 exceeded"); + assertThat(v0.message()).isEqualTo("maximum length 5 exceeded"); } } diff --git a/blackbox-test/src/test/java/example/jakarta/JCustomerMessageTest.java b/blackbox-test/src/test/java/example/jakarta/JCustomerMessageTest.java index bc6a8ddb..5815a2f6 100644 --- a/blackbox-test/src/test/java/example/jakarta/JCustomerMessageTest.java +++ b/blackbox-test/src/test/java/example/jakarta/JCustomerMessageTest.java @@ -42,19 +42,19 @@ void sizeMax() { @Test void sizeMaxDE() { var violation = one(new JCustomer("NameIsTooLarge", "Other"), Locale.GERMAN); - assertThat(violation.message()).isEqualTo("Größe muss zwischen 0 und 5 sein"); + assertThat(violation.message()).isEqualTo("Länge muss zwischen 0 und 5 sein"); } @Test void sizeMinMax() { var violation = one(new JCustomer("valid", "Other", "TooLarge")); - assertThat(violation.message()).isEqualTo("size must be between 2 and 4"); + assertThat(violation.message()).isEqualTo("length must be between 2 and 4"); } @Test void sizeMinMaxDE() { var violation = one(new JCustomer("valid", "Other", "TooLarge"), Locale.GERMAN); - assertThat(violation.message()).isEqualTo("Größe muss zwischen 2 und 4 sein"); + assertThat(violation.message()).isEqualTo("Länge muss zwischen 2 und 4 sein"); } @Test