Generic JavaBeans Validation: Difference between revisions
Line 29: | Line 29: | ||
<syntaxhighlight lang='java'> | <syntaxhighlight lang='java'> | ||
public class CreditCard { | |||
... | |||
@NotNull(message = "The first name cannot be null") | |||
private String firstName; | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 17:06, 16 October 2018
External
Internal
Overview
This article documents a runnable Java example uses JavaBeans Validation annotations to externalize validation logic to a JavaBeans validation provider. The example depends on Spring Boot, but this is only because we use Spring Boot's machinery to pull starter dependencies, including Hibernate Validator, and get our runtime running. There is nothing Spring-specific that would prevent the same example working in a generic Java environment with JSR-303 support.
Approach
Spring Boot Starter Dependencies
The simplest way to get the project started is to use Spring Initializr and select "Validation":
dependencies {
implementation('org.springframework.boot:spring-boot-starter-validation')
}
Declare Validation Rules
Use JavaBean Validation annotation to declare validation logic. Example:
public class CreditCard {
...
@NotNull(message = "The first name cannot be null")
private String firstName;
}
More details on available validation annotations:
Because we are using Hibernate Validator, Hibernate-specific validation annotations are also available: