Validazione in Kotlin con Valiktor
Ho scoperto una libreria molto utile e semplice da usare per la validazione dei dati in Kotlin: Valiktor!
Se usate Maven aggiungete questa dipendenza al vostro pom.xml:
<dependency>
<groupId>org.valiktor</groupId>
<artifactId>valiktor-core</artifactId>
<version>0.12.0</version>
</dependency>
Fatto questo create una classe tipo questa:
import org.valiktor.functions.*
import org.valiktor.validate
class Persona(val nome: String, val email: String, val eta: Int) {
init {
validate(this) {
validate(Persona::nome).isNotBlank()
validate(Persona::email)
.isNotBlank()
.isEmail()
validate(Persona::eta).isGreaterThanOrEqualTo(18)
}
}
}
Come vedete abbiamo imposato che:
- il nome non deve essere vuoto
- l'email non deve essere vuota e deve avere un formato corretto
- l'età deve essere maggiore o uguale a 18
Adesso provate a creare qualche oggetto mettendo i dati prima sbagliati e poi giusti; ad esempio:
import org.valiktor.ConstraintViolationException
fun main(args: Array) {
try {
Persona(nome = "Matteo", email = "email", eta = 5);
} catch (e: ConstraintViolationException) {
println(e.constraintViolations);
}
}
Tramite ConstraintViolationException abbiamo un Set di eventuali errori, così possiamo indicare quali sono i dati da correggere.
Enjoy!
kotlin valiktor maven
Commentami!