[JAVA] Validation du ressort et code d'erreur

Annotation de liaison de données

Une annotation utilisée dans la classe de domaine.

Annotation La description Exemple
@NumberFormat Convertit une chaîne au format spécifié en type numérique. @NumberFormat(pattern="#,###")
@DateTimeFormat Convertit une chaîne au format spécifié en type de date. @DateTimeFormat(pattern="yyyy/MM/dd")

Form.java


import org.springframework.format.annotation.DateTimeFormat;

public class SignupForm {

  @DateTimeFormat(pattern="yyyy/MM/dd")
  private Date birthday;
}

Message d'erreur de liaison de données

Créez messages.properties dans le répertoire resouces et écrivez comme suit. Il n'y a pas besoin de ** guillemets doubles ** après l'égalité.

modèle Méthode de description Exemple de description
typeMismatch.<Nom de la clé ModelAttribute>.=<Message d'erreur> typeMismatch.signupForm.age=Veuillez saisir un nombre
typeMismatch.=<Message d'erreur> typeMismatch.age=Veuillez saisir un nombre
typeMismatch.<Type de données de champ>=<Message d'erreur> typeMismatch.int=Veuillez saisir un nombre

Liste des annotations de validation

Une annotation utilisée dans la classe de domaine.

Classification Annotation La description
Bean Validation @NotNull Vérifiez qu'il n'est pas nul
@NotEmpty Vérifiez que la chaîne ou la collection n'est pas nulle ou vide
@NutBlank Vérifiez que la chaîne n'est pas seulement vide, vide, espace vide
@Max Vérifiez si elle est inférieure ou égale à la valeur spécifiée
@Min Vérifiez si elle est supérieure à la valeur spécifiée
@Size Vérifiez si la longueur de la chaîne et la taille de la collection sont dans la plage spécifiée
@AssertTrue Vérifiez si vrai
@AssertFale Vérifiez si faux
@Pattern Vérifiez s'il correspond à l'expression régulière spécifiée
@Email Vérifiez si la chaîne se présente sous la forme d'une adresse e-mail
Hibernate Validator @Range Vérifiez si la valeur est dans la plage spécifiée
@Length Vérifiez si la longueur de la chaîne de caractères se situe dans la plage spécifiée
@CreditCardNumber Vérifiez si la chaîne est au format de numéro de carte de crédit
@URL Vérifiez si la chaîne est au format URL

Différences entre NotNull NotEmpty Not Blank

Une erreur se produira à ** NG **.

Annotation null Caractères vides Vide
@NotNull NG OK OK
@NotEmpty NG NG OK
@NotBlank NG NG NG

Form.java


//Si la classification est Bean Validation
// javax.validation.Importer à partir de contraintes
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Email;
import javax.validation.constraints.Pattern;

//La classification est Hibernate Validator
// org.hibernate.validator.Importer à partir de contraintes
import org.hibernate.validator.constraints.Length;

public class SignupForm {
  
  //Entrée requise, format d'adresse e-mail
  @NotBlank
  @Email
  private String userId;

  @Length(min=4, max=8)
  @Pattern(regexp="^[a-zA-Z0-9]+$")
  private String password;
}

Message d'erreur de validation

Ajouter au même messages.properties que le message d'erreur de liaison de données

modèle Méthode de description Exemple de description
<Nom de l'annotation>.<Nom de la clé ModelAttribute>.=<Message d'erreur> NotBlank.signupForm.userId=Veuillez saisir votre identifiant d'utilisateur
<Nom de l'annotation>.=<Message d'erreur> NotBlank.uerId=Veuillez saisir votre identifiant d'utilisateur
<Nom de l'annotation>.<Type de données de champ>=<Message d'erreur> NotBlank.java.lang.Sting ≒ entrée requise
<Nom de l'annotation>=<Message d'erreur> NotBlank=Entrée requise
<Nom de clé unique>=<Message d'erreur> require_check=Obligatoire

Recommended Posts

Validation du ressort et code d'erreur
À propos des erreurs lors de la mise en œuvre de la validation du printemps
Erreur de mise en œuvre lors de la mise en œuvre de la validation Spring
Page d'erreur Spring Boot Whitelabel et réponse JSON
Validation personnalisée avec Spring
À propos de l'erreur de contexte Spring Framework
Traitement courant et traitement des erreurs Springmvc
Signature et validation à l'aide de java.security.Provider
Obtenez des informations d'erreur à l'aide de DefaultErrorAttributes et ErrorAttributeOptions dans Spring Boot 2.3
Erreur de connexion à la base de données Spring
Test de validation d'élément unique de printemps
Modifier le message de validation Spring Boot
Collection de codes d'erreur bitFlyer Lightning
La validation de printemps était importante dans l'ordre de Form et BindingResult
Lire et générer un code QR [Android]
Sélections et corrections de Java Angry Code 5
Points de révision du code de l'application Spring Boot
Méthode de résolution d'erreur Spring Boot + PostgreSQL
Exemple de code d'OVal (FW de validation par annotations)
Environnement Java Spring dans vs Code
Écrire du code de test avec Spring Boot
[Rails] Erreur de validation inattendue dans l'appareil
Programmation Spring Boot avec VS Code
Nouvelles fonctionnalités de Java 9 et exemple de code
Obtenez des résultats de validation avec Spring Boot
Mémo d'essai et d'erreur d'interface fluide
[Rails] Paramètres de validation et localisation en japonais
Fonction de profil Spring et application Spring Boot.
Résolution d'erreur du code de sortie 1 de validation