Java String Date Validation Mit Hibernate API
Ich bin versucht zu validieren String Date mit javax.validation
& Hibernate Validierung. ich brauche, um zu überprüfen, gegebenen String Datum sollte vorbei sein und es sollte richtig sein yyyyMMdd
format mit allen Einschränkungen wie Schaltjahr, 30th
, 31st
Tag.
public class UserInformation {
@NotNull
public String idNum = null;
@NotNull
//@Past
@Pattern(regexp="\\d{4}(1[012]|0[1-9])(3[01]|[12]\\d|0[0-9])")
public String dob= null;
}
Habe ich versucht mit diesem code aber nicht funktioniert. Gibt es eine Lösung. wenn wir benutzerdefinierte validator-dann ist es in der Feld-Ebene.Bitte geben Sie Anregungen oder code-snippets.
- warum nicht Sie sparen Sie als einer Datums - /Zeitstempel/etc. ?
- Meine Forderung ist zu akzeptieren, wie ein String..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Option 1
Ändern Sie Ihre Muster dieser:
Aber im Hinterkopf behalten, dass diese Art der Validierung ist die überprüfung nicht, wenn der Februar hat weniger als 28/29 Tage und andere Termine Zwängen.
Optionen 2
Erstellen Sie Ihre benutzerdefinierte constraint-validator
Dass das Date-Objekt können Sie jede andere überprüfung, die Sie möchten (mögen, ablehnen Termine in der Vergangenheit)
Wenn Sie Spring-Kontext-Modul als Abhängigkeit, die Sie verwenden können
@DateTimeFormat
und tun die folgende.Oder Sie können schreiben Sie Ihre eigenen Benutzerdefinierten Validator.
@DateTimeFormat
annotation "Kann angewendet werden, um java.util.Date, java.util.Kalender, Lang (für Millisekunden-Zeitstempel) sowie JSR-310 in java.Zeit und Joda-Time-Wert-Typen." So gibt es keineString
Art Unterstützung für diese Anmerkung. Link: docs.Frühling.io/spring-framework/docs/current/javadoc-api/org/...