Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/04/2011, 10:09
kisja
 
Fecha de Ingreso: julio-2010
Mensajes: 27
Antigüedad: 14 años, 4 meses
Puntos: 2
Struts 2 validación de fechas

Hola

Tengo un problemilla con Struts 2.
Tengo una clase para representar a un paciente, el cual tiene una fecha de nacimiento:

Código:
        /**
	 * @return the dataNacemento
	 * @throws ParseException 
	 */
	public Date getDataNacemento() {
		return dataNacemento;
	}
	/**
	 * @param dataNacemento the dataNacemento to set
	 */
	public void setDataNacemento(Date dataNacemento) {
		this.dataNacemento = dataNacemento;
	}

En una jsp (el formulario de alta) tengo la caja de texto para la fecha junto con un botón propio para seleccionarla (salta un popup con un calendario para poder escoger un día):

Código:
<s:textfield key="paciente.dataNacemento" id="paciente.dataNacemento" cssClass="campoFormulario" readonly="true"></s:textfield>
<img src="Images/iconos/btnCalendar.jpg" alt="Calendario"	 width="16" height="15" onclick="opencalendar('paciente.dataNacemento', 'gl', 'selector')" />
Cuando selecciono el día, por ejemplo, se muestra en la caja de texto : 20/12/2011

El problema es que cuando pulso el botón aceptar, antes de que se ejecute ninguna acción, pasa por la validación de Struts 2 y me muestra un mensaje:

Invalid field value for field ...

Creo que esto pasa porque piensa que le estoy diciendo el mes 20, y lógicamente no existe. Yo con 20/12/2011 me refiero a dd/MM/yyyy, pero de alguna forma tiene un formato predeterminado que no consigo cambiar.

Es más curioso cuando esto sólo me pasa en algunos entornos de desarrollo (pues tengo varios).

Lo que quiero es que me valide correctamente las fechas dd/MM/yyyy.
¿Cómo puedo indicarle este formato?


Gracias, un saludo

Última edición por kisja; 08/04/2011 a las 01:40