Java / Spring MVC 3 Validierung einer E-Mail-Adresse

Ich habe ein Java-backend mit Spring MVC und ich bin mit der Validierung in dieser Weise auf meine domain-Objekt für eine E-Mail-Adresse:

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
...
@NotNull
@Size(min = 1, max = 100)
@Pattern(regexp="^([a-zA-Z0-9\\-\\.\\_]+)'+'(\\@)([a-zA-Z0-9\\-\\.]+)'+'(\\.)([a-zA-Z]{2,4})$")
private String email;

Aber alle, die ich durch diese Zeilen von code

Set<ConstraintViolation<Person>> failures = validator.validate(personObject);
...
Map<String, String> failureMessages = new HashMap<String, String>();
for (ConstraintViolation<Person> failure : failures) {
    failureMessages.put(failure.getPropertyPath().toString(), failure.getMessage());
    System.out.println(failure.getPropertyPath().toString()+" - "+failure.getMessage())
}

Bekomme ich diese auf der Konsole:

email - must match "^([a-zA-Z0-9\\-\\.\\_]+)'+'(\\@)([a-zA-Z0-9\\-\\.]+)'+'(\\.)([a-zA-Z]{2,4})$"

aber ich habe als E-Mail-Adresse [email protected]so dass die regexp nicht passt.

Also ich habe zwei prolems:

  • Was ist hier falsch?
  • Und wie kann ich definieren, eine Fehlermeldung auf meiner eigenen, weil diese Anzeige für den Benutzer, das ist nicht eine gute Sache 🙂

Vielen Dank im Voraus für Eure Hilfe und Beste Grüße.

InformationsquelleAutor der Frage Tim | 2011-01-12

Schreibe einen Kommentar