Heim  >  Artikel  >  Java  >  Wie kann ich die Gültigkeit von Formulardaten mit Java überprüfen?

Wie kann ich die Gültigkeit von Formulardaten mit Java überprüfen?

WBOY
WBOYOriginal
2023-08-10 21:03:15850Durchsuche

Wie kann ich die Gültigkeit von Formulardaten mit Java überprüfen?

Wie verwende ich Java, um die Rechtmäßigkeit von Formulardaten zu überprüfen?

In der Webentwicklung sind Formulare eine der wichtigen Möglichkeiten für Benutzer, mit Websites zu interagieren, und die Überprüfung der Rechtmäßigkeit von Formulardaten ist ein wichtiger Teil der Sicherstellung, dass die von Benutzern eingegebenen Daten dem erwarteten Format und den erwarteten Regeln entsprechen. In der Java-Entwicklung verwenden wir normalerweise einige Validierungsframeworks, um diesen Prozess zu vereinfachen. In diesem Artikel wird das häufig verwendete Validierungsframework Hibernate Validator als Beispiel verwendet, um die Verwendung von Java zur Überprüfung der Rechtmäßigkeit von Formulardaten vorzustellen.

1. Hibernate Validator-Abhängigkeit einführen

Zuerst müssen Sie die Hibernate Validator-Abhängigkeit in der pom.xml-Datei hinzufügen:

<dependency>
  <groupId>org.hibernate.validator</groupId>
  <artifactId>hibernate-validator</artifactId>
  <version>6.1.5.Final</version>
</dependency>

2. Erstellen Sie ein Formularvalidierungsmodell.

Als nächstes müssen wir ein Formularvalidierungsmodell erstellen , Dies Jedes Feld der Formulardaten wird im Modell definiert, und die Felder werden mit Anmerkungen versehen und ihre Validierungsregeln werden angegeben.

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方法
}

Im obigen Code verwenden wir einige allgemeine Anmerkungen, die von Hibernate Validator bereitgestellt werden, um Feldvalidierungsregeln zu definieren, zum Beispiel:

  • @NotEmpty bedeutet, dass das Feld nicht leer sein darf;
  • @Email bedeutet, dass das Feld erfüllt sein muss das E-Mail-Format;
  • @Pattern gibt an, dass das Feld den angegebenen regulären Ausdruck erfüllen muss;
  • @Min und @Max geben an, dass das Feld innerhalb des angegebenen Bereichs liegen muss usw.

3. Formulardaten überprüfen

Nachdem wir die vom Benutzer übermittelten Formulardaten erhalten haben, können wir die Formulardaten überprüfen, indem wir die Validierungsmethode von Hibernate Validator aufrufen.

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();
  }
}

Im obigen Code erhalten wir zunächst eine Validator-Instanz, erstellen dann ein FormModel-Objekt und legen einige Werte fest, die nicht den Regeln entsprechen. Als Nächstes rufen wir die Methode validator.validate auf, um dieses Objekt zu überprüfen und die Sammlung der Verstöße abzurufen. Abschließend durchlaufen wir die Sammlung der Verstöße und geben die Fehlermeldung für jede fehlgeschlagene Überprüfung aus.

Führen Sie den obigen Code aus, Sie können die folgende Ausgabe erhalten:

姓名不能为空
邮箱格式不正确
手机号格式不正确
年龄不能低于18岁

4. Verarbeiten der Verifizierungsergebnisse

In tatsächlichen Projekten geben wir normalerweise Fehlerinformationen an den Benutzer zurück oder zeichnen sie im Protokoll auf, wenn die Verifizierung fehlschlägt. Wir können diese Fehler behandeln, indem wir Ausnahmeklassen anpassen oder die vom Framework bereitgestellten Validierungsergebnissätze verwenden.

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();
  }
}

Wenn die Überprüfung im obigen Code fehlschlägt, durchlaufen wir die Sammlung von Verstößen und geben die Fehlermeldung aus. Wenn die Überprüfung erfolgreich ist, können wir mit der Verarbeitung anderer Geschäftslogik fortfahren.

Zusammenfassung:

Die Verwendung von Java zur Überprüfung der Rechtmäßigkeit von Formulardaten ist ein wesentlicher Bestandteil der Webentwicklung. Als häufig verwendetes Validierungsframework bietet uns Hibernate Validator einige praktische und benutzerfreundliche Anmerkungen, die den Validierungsprozess von Formulardaten vereinfachen können. Anhand der obigen Beispiele können wir besser verstehen, wie wir mit Java die Rechtmäßigkeit von Formulardaten überprüfen und so die Richtigkeit und Sicherheit der von Benutzern eingegebenen Daten gewährleisten können.

Das obige ist der detaillierte Inhalt vonWie kann ich die Gültigkeit von Formulardaten mit Java überprüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn