Ho un'applicazione Java EE e voglio convalidare una data. con una stringa che fare questo:JSR 303 - javax.validation - Convalida una data
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
...
@NotNull
@Size(min = 1, max = 255)
private String myString;
Ma ora ho due date che voglio per convalidare. L'utente può nel sistema di frontend scrivere una stringa in un campo di testo che sarà trasferito tramite JSON (devo usare il campo di testo, non posso usare un datepicker).
Quindi il mio backend non ha questo nella mia classe di dominio:
@DateTimeFormat(pattern = "dd.MM.yy")
@Temporal(value=TemporalType.TIMESTAMP)
private Date myStartDate;
@DateTimeFormat(pattern = "dd.MM.yy")
@Temporal(value=TemporalType.TIMESTAMP)
private Date myEndDate;
voglio per convalidare contro il "gg.mm.aaaa" formato. Come si può fare?
E, io non la penso così, ma c'è una convalida automatica per verificare se la data di inizio è prima della data di fine? Ho trovato solo @Future
e @Past
.
Quindi l'unica soluzione è usare un @Pattern, un'espressione regolare ?!
Grazie in anticipo per il vostro aiuto, Cordiali saluti.
Un paio di cose: il '@ DateTimeFormat' non fa parte di JSR-303 e' mm' sta per minuti, non mesi. Inoltre, come la modifica di '" dd.MM.yy "' a '" dd.MM.yyyy "' fallisce? Poiché sembra che tu stia usando Spring MVC (di cui questa annotazione fa parte), potresti voler rivedere/ritirare la tua domanda. Almeno, JSR 303 non offre [any] (http://download.oracle.com/javaee/6/api/javax/validation/constraints/package-summary.html) annotazioni per questo. – BalusC
Sì, posso passare a 'gg.MM.aaaa', ma non c'è alcuna convalida. – Tim
Non riesco a capire come la convalida del pattern sia utile su un 'Date' invece che su' String' dato che 'Date' non memorizza alcuna informazione sul suo formato interno. Ad ogni modo, non faccio Spring, ma penso che sia necessario implementare un [Validator] (http://static.springsource.org/spring/docs/3.0.x/reference/validation.html). Questo è almeno come lo farei se fosse JSF. – BalusC