Foros del Web » Programando para Internet » ASPX (.net) »

Funcionamiento RegularExpressionVAlue?

Estas en el tema de Funcionamiento RegularExpressionVAlue? en el foro de ASPX (.net) en Foros del Web. HOla HE puesto un control "RegularExpressionValue" en mi Webform para que valide si un control TEXTBOX tiene el formato correcto de fecha dd/mm/yyyy. EN "Controltovalidate" ...
  #1 (permalink)  
Antiguo 05/08/2008, 01:51
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 0
Funcionamiento RegularExpressionVAlue?

HOla
HE puesto un control "RegularExpressionValue" en mi Webform para que valide si un control TEXTBOX tiene el formato correcto de fecha dd/mm/yyyy. EN "Controltovalidate" esta puesto el control textbox

Tengo puesta esta expresion en "ValidationExpression"^(((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}|\d))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}|\d))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}|\d))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00|[048])))$)
Que la he cojido de esta misma web buscando por el foro

Lo raro es que ahora cargo el form y el resultado es.... si el control tiene dd/mm/yyyy salta el mensaje que he puesto en la propiedad "ErrorMEssage"...si esta en blanco no salta....?????

Debería ser al revés no? Que estoy haciendo mal?
  #2 (permalink)  
Antiguo 05/08/2008, 04:29
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 9 meses
Puntos: 5
Respuesta: Funcionamiento RegularExpressionVAlue?

Si utilizas la zona de diseño, en las propiedades puedes poner los rangos de validación predeterminados, no he mirado si existe uno para fechas, pero estoy casi seguro que si.

Para comprobar que el campo no este vacio puedes usar un RequiredFieldValidator.

Un saludo!
  #3 (permalink)  
Antiguo 05/08/2008, 05:23
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Funcionamiento RegularExpressionVAlue?

Ya lo miré. No hay ninguno para dd/mm/yyyy
Lo del RequiredFieldValidator ya lo se pero me interesa que pongan un dia correcto mas que no este vacío
  #4 (permalink)  
Antiguo 06/08/2008, 00:46
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 9 meses
Puntos: 5
Respuesta: Funcionamiento RegularExpressionVAlue?

Para validar una fecha prueba esto:

Inserta un comparevalidator, en el controltovalidate ponle el id del textbox y el Type a Date.
Es la manera correcta de comprobar el formato de una fecha, luego le pones tambíen un requiredvalidator y ya tienes que sea obligatorio.

Un saludo!
  #5 (permalink)  
Antiguo 06/08/2008, 01:50
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Funcionamiento RegularExpressionVAlue?

Eso es lo 1o que intenté pero lo dejé estar pq. me salía este error: "Detalles de la excepción: System.Web.HttpException: El valor '' de la propiedad ValueToCompare de 'CompareValidator1' no se puede convertir en el tipo 'Date'."

En controltovalidate tengo el textbox
En text tengo puesto un *
EN type tngpo puesto DAte

Pero el REgularexpresionVAlue SI me funciona... lo que pasa es que lo hace al revés como indico en el 1er post
  #6 (permalink)  
Antiguo 06/08/2008, 02:47
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Funcionamiento RegularExpressionVAlue?

Lo estoy probando con un comparevalidator de nuevo y he conseguido que no me de errro poneindo esto:

<asp:CompareValidator runat="server" id="compFecha"
Operator="DataTypeCheck" Type="Date" ControlToValidate="txtParteFechaFinal"
ErrorMessage = "Formato de fecha incorrecto" >*</asp:CompareValidator>

Pero no me sale el mje de error ahora. PQ?

Igualmente en este post está comentado y parece que el comparevalidator no sirve para dd/mm/yyyy: http://www.forosdelweb.com/f29/compa...e-date-281535/
Así que estoy como en el primer post de este hilo

Última edición por chascos69; 06/08/2008 a las 03:54
  #7 (permalink)  
Antiguo 06/08/2008, 05:48
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 9 meses
Puntos: 5
Respuesta: Funcionamiento RegularExpressionVAlue?

Perdona me habia dejado la propiedad operator, acabo de picar este código de validación y funciona ;)

<asp:TextBox runat="Server" ID="tbxFecha" />
<asp:CompareValidator runat="Server" ID="cvFecha" Type="Date" ControlToValidate="tbxFecha"
ErrorMessage="Fecha incorrecta" Operator="DataTypeCheck" />


Saludos!
  #8 (permalink)  
Antiguo 07/08/2008, 00:10
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Funcionamiento RegularExpressionVAlue?

SI funciona gracias. Hay que ponerle el require y el compare pq. un valor vacío lo acepta como válido sin el require
Sin embargo, el compare que me pasas no comprueba que uses el formato dd/MM/yyyy (es decir, valores como MM/dd/yyyy los acepta cuando no debería) por eso el hio de este post: http://www.forosdelweb.com/f29/compa...e-date-281535/

Hice todo lo que pone en el hilo y me funciona pero AL REVES...
  #9 (permalink)  
Antiguo 07/08/2008, 09:36
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 9 meses
Puntos: 5
Respuesta: Funcionamiento RegularExpressionVAlue?

Pues lo probe antes de postearlo y a mi si que me comprueba que los valores de la fecha estén en formato dd/mm/yyyy, por ejemplo le puse 01/13/2008 y no me lo aceptaba.

Esto que digo son suposiciones pero es posible que coja automaticamente la cultura de tu explorador, ¿en que idioma lo tienes?

Pon un label que pinte System.Threading.Thread.CurrentThread.CurrentUICul ture.LCID y a ver si es 3082 (Español)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:01.