Skip to content

Commit 7ab90c1

Browse files
committed
add email validation
1 parent 6cab5f5 commit 7ab90c1

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

src/main/java/it/aboutbits/springboot/testing/validation/core/BaseRuleBuilder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package it.aboutbits.springboot.testing.validation.core;
22

33
import it.aboutbits.springboot.testing.validation.rule.BetweenRule;
4+
import it.aboutbits.springboot.testing.validation.rule.EmailRule;
45
import it.aboutbits.springboot.testing.validation.rule.FutureRule;
56
import it.aboutbits.springboot.testing.validation.rule.MaxRule;
67
import it.aboutbits.springboot.testing.validation.rule.MinRule;
@@ -35,6 +36,7 @@
3536
public abstract class BaseRuleBuilder<R extends BaseRuleBuilder<R>> implements
3637
ValidationRulesData,
3738
BetweenRule<R>,
39+
EmailRule<R>,
3840
FutureRule<R>,
3941
MaxRule<R>,
4042
MinRule<R>,

src/test/java/it/aboutbits/springboot/testing/validation/ValidationAssertTest.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import it.aboutbits.springboot.toolbox.type.ScaledBigDecimal;
77
import it.aboutbits.springboot.toolbox.validation.annotation.ValidPassword;
88
import jakarta.validation.Valid;
9+
import jakarta.validation.constraints.Email;
910
import jakarta.validation.constraints.Future;
1011
import jakarta.validation.constraints.Max;
1112
import jakarta.validation.constraints.Min;
@@ -188,6 +189,11 @@ public record SomeValidParameter(
188189
@ValidPassword
189190
String password,
190191

192+
// Email
193+
@Email String email,
194+
@Email @Nullable String nullableEmail,
195+
@Email @NotBlank String requiredEmail,
196+
191197
// Not validated
192198
Object notValidated
193199
) {
@@ -333,6 +339,13 @@ void testWithBeanValidation() {
333339
// ValidPassword
334340
.validPassword("password", 8, 50)
335341

342+
// Email
343+
.email("email")
344+
.email("nullableEmail")
345+
.nullable("nullableEmail")
346+
.email("requiredEmail")
347+
.notBlank("requiredEmail")
348+
336349
// Not validated
337350
.notValidated("notValidated")
338351
.isCompliant();
@@ -476,6 +489,13 @@ void invalidParameter_shouldFail() {
476489
// ValidPassword
477490
.validPassword("password", 8, 50)
478491

492+
// Email
493+
.email("email")
494+
.email("nullableEmail")
495+
.nullable("nullableEmail")
496+
.email("requiredEmail")
497+
.notBlank("requiredEmail")
498+
479499
// Not validated
480500
.notValidated("notValidated")
481501
.isCompliant());
@@ -620,6 +640,13 @@ void propertyMissingRule_shouldFail() {
620640
// ValidPassword
621641
.validPassword("password", 8, 50)
622642

643+
// Email
644+
.email("email")
645+
.email("nullableEmail")
646+
.nullable("nullableEmail")
647+
.email("requiredEmail")
648+
.notBlank("requiredEmail")
649+
623650
// Not validated
624651
.notValidated("notValidated")
625652
.isCompliant());
@@ -922,6 +949,11 @@ private static SomeValidParameter getSomeValidParameter() {
922949
// ValidPassword
923950
"password123",
924951

952+
// Email
953+
"someone@example.com",
954+
null,
955+
"required@example.com",
956+
925957
// Not validated
926958
null
927959
);

0 commit comments

Comments
 (0)