2010-07-12 79 views

Respuesta

1

Hacer uso del CustomValidator resolverá sus problemas fácilmente.

CustomValidator

o

Puede usar javascript para validar su fecha como de la siguiente

var myDate=new Date(); 
myDate.setFullYear(2010,0,14); 
var today = new Date(); 

if (myDate>today) 
    { 
    alert("Today is before 14th January 2010"); 
    } 
else 
    { 
    alert("Today is after 14th January 2010"); 
    } 
2

Utilice un CompareValidator. La mayoría de las personas lo usa para comparar dos valores ingresados ​​en dos cuadros de texto, pero también puede usarlo para comparar un valor ingresado con un valor establecido como en su caso.

<asp:CompareValidator id="Compare1" 
     ControlToValidate="TextBox1" 
     Type="Date" 
     runat="server"/> 

En el conjunto de códigos detrás Compare1.ValueToCompare = new DateTime(...); y Compare1.Operator = ValidationCompareOperator.LessThanEqual;

Además, recuerde: Siempre debe validar en el servidor de, así como el cliente, ya que la validación del lado del cliente es fácil de apagar o desviados . Le sugiero que mire Fluent validation para esto.

+2

Etiquetar la pregunta con una tecnología sugerida en su respuesta es un poco grosera ... – cjk

+1

Lo siento, ¿se considera grosero? Pensé que fue útil. De esta forma, el usuario puede encontrar fácilmente otras preguntas sobre esa tecnología. Además, otras personas que usan esa tecnología pueden encontrar esta pregunta y brindar ayuda. Pensé que estaba siendo útil. ¿Hay una publicación de la comunidad sobre lo que se considera grosero? Me complace eliminar las etiquetas si otros usuarios marcan el comentario de @ ck como un gran comentario. Probablemente sea mejor hacerlo que agregar tu propio comentario, ya que estará fuera del tema de esta pregunta. –

1

en JavaScript solución,

Asegúrese de ajustar horas, minutos, segs y milisegundos a 0, si sólo quiere comparar fechas (es decir, día, mes y año). Función para acheive lo anterior es el siguiente,

function f_tcalResetTime (d_date) { 
    d_date.setHours(0); 
    d_date.setMinutes(0); 
    d_date.setSeconds(0); 
    d_date.setMilliseconds(0); 
    return d_date; 
} 

Si se comparan las fechas, javascript en realidad llaman date.valueOf función detrás de las escenas, que devuelve el número de milisegundos desde la medianoche pasado 1 de enero de 1970.

0

buena fecha mate. Hay muchas opciones disponibles. Puedes usar el control de validación personalizado de asp.net, javascript, etc. Una mejor opción sería usar el extensor de edición enmascarado de AJAX para herramientas de control con un validador de edición enmascarado. Puede especificar rangos, máscara personalizada (aaaa/MM/dd) e incluso un mensaje de campo vacío con eso.

Solo asegúrese de establecer la cultura de su sitio web correctamente para que pueda validar las fechas correctamente. http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/MaskedEdit/MaskedEdit.aspx

Cheers.

<ajaxToolkit:MaskedEditValidator 
ControlExtender="MaskedEditExtender2" 
ControlToValidate="TextBox2" 
IsValidEmpty="False" 
MaximumValue="12000" 
EmptyValueMessage="Number is required" 
InvalidValueMessage="Number is invalid" 
MaximumValueMessage="Number > 12000" 
MinimumValueMessage="Number < -100" 
MinimumValue="-100" 
EmptyValueBlurredText="*" 
InvalidValueBlurredMessage="*" 
MaximumValueBlurredMessage="*" 
MinimumValueBlurredText="*" 
Display="Dynamic" 
TooltipMessage="Input a number: -100 up to 12.000"/> 
Cuestiones relacionadas