2010-09-08 18 views
5

He estado usando este para tomar la fecha en formato dd/mm/aaaa ...validación Fecha de un cuadro de texto

<asp:CompareValidator ErrorMessage="(mm/dd/yyyy)" Display="Dynamic" ID="valcDate" 
    ControlToValidate="txtDob" Operator="DataTypeCheck" Type="Date"  
    runat="server"></asp:CompareValidator> 
<asp:RangeValidator ID="valrDate" runat="server" ControlToValidate="txtDob" 
    MinimumValue="12/31/1950" 
    MaximumValue="1/1/2100" Type="Date" Text="Invalid Date" Display="Dynamic" /> 

pero está tomando el año de dos dígitos también ... PLZ sugieren

+1

Ha hecho 9 preguntas, pero todavía no ha notado el botón de muestra de código? – RedFilter

Respuesta

18

Es posible que desee utilizar una expresión regular para la fecha:

<asp:RegularExpressionValidator ID="dateValRegex" runat="server" ControlToValidate="txtDob" ErrorMessage="Please Enter a valid date in the format (mm/dd/yyyy)" ValidationExpression="^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$"></asp:RegularExpressionValidator> 

también, como Daniel señaló a continuación que tendrá que utilizar esto en conjunto con sus otros validadores para validar plenamente la fecha.

+0

+1 podría querer agregar el código completo para RegularExpressionValidator y también explicar que esto es necesario, así como también el validador de rango, ya que esta expresión regular por sí sola permitiría una fecha no válida como el 31/02/2010 –

Cuestiones relacionadas