Reputation: 429
Is it possible to relax
validation using jakarta validation groups
?
For example, for default configuration I have the following validations:
class Person {
@NotNull
private String name;
@NotNull
private String email;
}
Call without specifying validation group works as expected:
validator.validate(person) //validates name AND email
But for this case:
validator.validate(person, EmailNullable.class) //validates name ONLY
... I want only name to be validated, email
could be nullable.
Is it possible somehow define EmailNullable
validation group to relax default validations and suppress NotNull
for email
field?
Upvotes: 0
Views: 385
Reputation: 147
Can you define validation groups to selectively apply constraints to fields based on the validation context? By specifying the groups attribute in the @NotNull annotation, you can ensure constraints are applied only for the specified groups.
Define Interfaces:
public interface DefaultValidationGroup {}
public interface EmailNullableValidationGroup {}
Apply Validation Groups:
public class Person {
@NotNull(groups = {DefaultValidationGroup.class, EmailNullableValidationGroup.class})
private String name;
@NotNull(groups = DefaultValidationGroup.class)
private String email;
}
Validate:
validator.validate(person, DefaultValidationGroup.class);
validator.validate(person, EmailNullableValidationGroup.class);
Here are some useful references:
Upvotes: 1