With the bean validation API, you can also introduce custom constraints, rather than the built-in ones, in order to reuse more complex validation logic in different contexts within your application. This is one of the best features and introduces a great flexibility and reusability in real-world validation scenarios.
Let's introduce a custom constraint, called CheckCase
, which is used to check whether a string is uppercase or lowercase, according to the developer's preference. The constraint will include a type attribute, which will be given either the value of UPPER
or LOWER
. If the type attribute was given the UPPER
value, then it will check the given string to see if it's in uppercase or not. Otherwise, if it was given the LOWER
value, then it will check if the given string is in lowercase or not.
To define this custom constraint, we will perform two key steps:
- Creating a constraint annotation.
- Creating a validator class associated with this annotation.
Let's perform...