Spring Validation Concepts: Difference between revisions
Line 14: | Line 14: | ||
==Declare Validation Rules== | ==Declare Validation Rules== | ||
Declare validation rules on the domain model data class that is to be validated. Annotate members of the domain model data classes with Bean Validation annotations [[@NotNull]], [[@Size]], [[@NotBlank]] | Declare validation rules on the domain model data class that is to be validated. Annotate members of the domain model data classes with Bean Validation annotations [[@NotNull]], [[@Size]], [[@NotBlank]] or Hibernate Validation annotations [[@CreditCardNumber]] | ||
==Configure Controller Methods for which Validation Should Be Performed== | ==Configure Controller Methods for which Validation Should Be Performed== |
Revision as of 05:08, 12 October 2018
Internal
Overview
Spring supports Bean Validation API (JSR-303) which allows to declare validation rules as annotations, as opposed to explicitly writing validation logic in the application code. The Bean Validation API and the Hibernate implementation of the Validation API are automatically added to the project as transient dependencies of the Spring Boot web starter.
Bean Validation in Spring MVC
Applying bean validation in Spring MVC consists of:
Declare Validation Rules
Declare validation rules on the domain model data class that is to be validated. Annotate members of the domain model data classes with Bean Validation annotations @NotNull, @Size, @NotBlank or Hibernate Validation annotations @CreditCardNumber
Configure Controller Methods for which Validation Should Be Performed
Designate controller methods for which validation should be performed.
Configure Forms to Display Validation Errors
Configuring the form views to display validation errors.
TODO
TODO:
- https://docs.spring.io/spring/docs/5.1.0.RELEASE/spring-framework-reference/core.html#validation
- https://docs.spring.io/spring/docs/5.1.0.RELEASE/spring-framework-reference/core.html#validation-beanvalidation
- JSR-303 validation, https://spring.io/guides/gs/validating-form-input/