Validazione in Kotlin con Valiktor

Mattepuffo's logo
Validazione in Kotlin con Valiktor

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!


Condividi

Commentami!