Tengo una aplicación Java EE y deseo validar una fecha. con una cadena que hacer esto:JSR 303 - javax.validation - Validar una fecha
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
...
@NotNull
@Size(min = 1, max = 255)
private String myString;
Pero ahora tengo dos fechas la que desea validar. El usuario puede en el sistema frontend escribir una cadena en un campo de texto que se transferirá a través de JSON (tengo que usar el campo de texto, no puedo usar un marcador de fecha).
Así que mi backend tiene esto en mi clase de 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;
Quiero validar contra el "dd.MM.yyyy" formato. ¿Cómo puede hacerse esto?
Y, no lo creo, pero ¿hay una validación automática para verificar si la fecha de inicio es anterior a la fecha de finalización? Solo encontré @Future
y @Past
.
Entonces la única solución es usar un @Pattern, una expresión regular ?!
Gracias de antemano por su ayuda, Saludos cordiales.
Un par de cosas: el '@ DateTimeFormat' no es parte de JSR-303 y' mm' significa minutos, no meses. Además, ¿cómo falla el cambio '' dd.MM.yy "' to '" dd.MM.aaaa "'? Dado que parece que está utilizando Spring MVC (de lo que esta anotación forma parte), es posible que desee revisar/volver a seleccionar su pregunta. Al menos, JSR 303 no ofrece [ninguna] (http://download.oracle.com/javaee/6/api/javax/validation/constraints/package-summary.html) anotaciones para esto. – BalusC
Sí, puedo cambiar a 'dd.MM.aaaa', pero no hay validación. – Tim
Tampoco entiendo cómo la validación de patrón es útil en una 'Fecha' en lugar de' Cadena' ya que 'Fecha' no almacena ninguna información sobre su formato interno. De todos modos, yo no uso Spring, pero creo que solo necesitas implementar un [Validator] (http://static.springsource.org/spring/docs/3.0.x/reference/validation.html). Así es al menos cómo lo haría si fuera JSF. – BalusC