How to validate UUID with bean validation in Kotlin
A small bean validation constraint annotation in Kotlin for UUIDs
Here’s a quickie: a small bean validation constraint annotation in Kotlin for UUIDs
Kotlin UUID Bean Validation Constraint
import javax.validation.Constraint
import javax.validation.Payload
import javax.validation.constraints.NotBlank
import javax.validation.constraints.Pattern
import kotlin.reflect.KClass
const val UUID_REGEXP = "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
/**
* Validation constraint for {@link UUID}s.
* Reference: https://stackoverflow.com/questions/37320870/is-there-a-uuid-validator-annotation
*/
@Target(AnnotationTarget.FIELD)
@Constraint(validatedBy = [])
@Retention(AnnotationRetention.RUNTIME)
@NotBlank
@Pattern(regexp = UUID_REGEXP)
annotation class UUID(
val message: String = "{invalid.uuid}",
val groups: Array<KClass<*>> = [],
val payload: Array<KClass<out Payload>> = []
)
That's it for today! ✨
About Sébastien
Hello everyone! I'm Sébastien Dubois. I'm an author, founder, and CTO. I write books and articles about software development & IT, personal knowledge management, personal organization, and productivity. I also craft lovely digital products 🚀
If you've enjoyed this article and want to read more like this, then become a subscriber, check out my Obsidian Starter Kit, the PKM Library and my collection of books about software development 🔥.
You can follow me on Twitter 🐦
If you want to discuss, then don't hesitate to join the Personal Knowledge Management community or the Software Crafters community.
Comments ()