Zum Inhalt springen

Projekt: Daten validieren

Hibernate Validator ist eine Implementierung von Bean Validation und kann für die Validierung von Daten in Spring Boot Projekten verwendet werden. Hier sind die wichtigsten Punkte, die du wissen musst:

Füge die folgende Abhängigkeit in deine pom.xml (Maven) oder build.gradle (Gradle) ein, um den Hibernate Validator in deinem Spring Boot Projekt zu verwenden.

Maven:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>

Gradle:

implementation 'org.springframework.boot:spring-boot-starter-validation'

Einige der wichtigsten Annotationen für die Validierung sind:

  • @NotNull: Stellt sicher, dass das Element nicht null ist.
  • @NotBlank: Stellt sicher, dass das Element nicht null und nicht leer ist (für Strings).
  • @NotEmpty: Stellt sicher, dass das Element nicht null und nicht leer ist (für Collections).
  • @Size: Stellt sicher, dass das Element innerhalb der angegebenen Grössenbeschränkungen liegt (min und max).
  • @Min: Stellt sicher, dass der numerische Wert grösser oder gleich dem angegebenen Mindestwert ist.
  • @Max: Stellt sicher, dass der numerische Wert kleiner oder gleich dem angegebenen Höchstwert ist.
  • @Email: Stellt sicher, dass das Element eine gültige E-Mail-Adresse ist.

Ein Beispiel für eine Entity-Klasse, die den Hibernate Validator verwendet, könnte folgendermassen aussehen:

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotBlank
@Size(min = 3, max = 50)
private String firstName;
@NotBlank
@Size(min = 3, max = 50)
private String lastName;
@Email
@NotBlank
private String email;
// Getter und Setter
}

In diesem Beispiel wird die User-Klasse mit verschiedenen Validierungsannotationen versehen, um sicherzustellen, dass die Daten korrekt sind.