Maison > Java > javaDidacticiel > le corps du texte

Comment vérifier la validité des données d'un formulaire en utilisant Java ?

WBOY
Libérer: 2023-08-10 21:03:15
original
845 Les gens l'ont consulté

Comment vérifier la validité des données dun formulaire en utilisant Java ?

Comment utiliser Java pour vérifier la légalité des données d'un formulaire ?

Dans le développement Web, les formulaires sont l'un des moyens importants permettant aux utilisateurs d'interagir avec les sites Web, et vérifier la légalité des données du formulaire est une étape importante pour garantir que les données saisies par les utilisateurs sont conformes au format et aux règles attendus. Dans le développement Java, nous utilisons généralement certains frameworks de validation pour simplifier ce processus. Cet article prendra le framework de validation couramment utilisé Hibernate Validator comme exemple pour présenter comment utiliser Java pour vérifier la légalité des données de formulaire.

1. Introduire la dépendance Hibernate Validator

Tout d'abord, vous devez ajouter la dépendance Hibernate Validator dans le fichier pom.xml du projet :

<dependency>
  <groupId>org.hibernate.validator</groupId>
  <artifactId>hibernate-validator</artifactId>
  <version>6.1.5.Final</version>
</dependency>
Copier après la connexion

2 Créer un modèle de validation de formulaire

Ensuite, nous devons créer un modèle de validation de formulaire. , ceci Chaque champ des données du formulaire est défini dans le modèle, et les champs sont annotés et leurs règles de validation sont précisées.

import javax.validation.constraints.*;

public class FormModel {
  
  @NotEmpty(message = "姓名不能为空")
  private String name;  // 姓名字段,不能为空

  @Email(message = "邮箱格式不正确")
  private String email;  // 邮箱字段,需要满足邮箱格式

  @Pattern(regexp = "1[3456789]\d{9}", message = "手机号格式不正确")
  private String phone;  // 手机号字段,需要满足手机号格式

  @Min(value = 18, message = "年龄不能低于18岁")
  @Max(value = 100, message = "年龄不能超过100岁")
  private Integer age;  // 年龄字段,需要在18到100之间

  // 省略getter和setter方法
}
Copier après la connexion

Dans le code ci-dessus, nous utilisons certaines annotations courantes fournies par Hibernate Validator pour définir les règles de validation des champs, par exemple :

  • @NotEmpty signifie que le champ ne peut pas être vide
  • @Email signifie que le champ doit répondre ; le format de l'e-mail ;
  • @Pattern indique que le champ doit satisfaire l'expression régulière spécifiée ;
  • @Min et @Max indiquent que le champ doit être dans la plage spécifiée, etc.

3. Vérifier les données du formulaire

Après avoir reçu les données du formulaire soumises par l'utilisateur, nous pouvons vérifier les données du formulaire en appelant la méthode de validation d'Hibernate Validator.

import javax.validation.*;

public class FormValidator {
  public static void main(String[] args) {
    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();

    FormModel form = new FormModel();
    form.setName("");  // 姓名为空
    form.setEmail("abc.com");  // 邮箱格式不正确
    form.setPhone("1234567890");  // 手机号格式不正确
    form.setAge(16);  // 年龄低于18岁

    Set<ConstraintViolation<FormModel>> violations = validator.validate(form);

    for (ConstraintViolation<FormModel> violation : violations) {
      System.out.println(violation.getMessage());
    }

    factory.close();
  }
}
Copier après la connexion

Dans le code ci-dessus, nous obtenons d'abord une instance Validator, puis créons un objet FormModel et définissons certaines valeurs qui ne sont pas conformes aux règles. Ensuite, nous appelons la méthode validator.validate pour vérifier cet objet et obtenir la collection de violations. Enfin, nous parcourons la collecte des violations et générons le message d'erreur pour chaque échec de vérification.

Exécutez le code ci-dessus, vous pouvez obtenir le résultat suivant :

姓名不能为空
邮箱格式不正确
手机号格式不正确
年龄不能低于18岁
Copier après la connexion

4. Traitement des résultats de la vérification

Dans les projets réels, nous renvoyons généralement les informations d'erreur à l'utilisateur ou les enregistrons dans le journal lorsque la vérification échoue. Nous pouvons gérer ces erreurs en personnalisant les classes d'exceptions ou en utilisant les ensembles de résultats de validation fournis par le framework.

import javax.validation.*;

public class FormValidator {
  public static void main(String[] args) {
    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();

    FormModel form = new FormModel();
    form.setName("");  // 姓名为空
    form.setEmail("abc.com");  // 邮箱格式不正确
    form.setPhone("1234567890");  // 手机号格式不正确
    form.setAge(16);  // 年龄低于18岁

    Set<ConstraintViolation<FormModel>> violations = validator.validate(form);

    if (!violations.isEmpty()) {
      // 处理验证不通过的错误
      for (ConstraintViolation<FormModel> violation : violations) {
        System.out.println(violation.getMessage());
      }
    } else {
      // 表单数据验证通过,进行其他业务逻辑处理
      // ...
    }

    factory.close();
  }
}
Copier après la connexion

Dans le code ci-dessus, lorsque la vérification échoue, nous parcourons la collecte des violations et générons le message d'erreur et lorsque la vérification réussit, nous pouvons continuer à traiter une autre logique métier ;

Résumé :

Utiliser Java pour vérifier la légalité des données de formulaire est une partie essentielle du développement Web. En tant que framework de validation couramment utilisé, Hibernate Validator nous fournit des annotations pratiques et faciles à utiliser qui peuvent simplifier le processus de validation des données de formulaire. Grâce aux exemples ci-dessus, nous pouvons mieux comprendre comment utiliser Java pour vérifier la légalité des données de formulaire, nous aidant ainsi à garantir l'exactitude et la sécurité des données saisies par les utilisateurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!