<! Doctype html public "-// W3C // dtd html 4.01 Transitional // EN">
<Html> Var xmlHttp;
Function createXMLHttpRequest (){
If (window. ActiveXObject ){
XmlHttp = new ActiveXObject ("Microsoft. XMLHTTP ");
} Else if (window. XMLHttpRequest ){
XmlHttp = new XMLHttpRequest ();
}
}
Function validate (){
CreateXMLHttpRequest ();
Var date = document. getElementByIdx_x ("birthDate ");
Var url = "Handler. ashx? BirthDate = "+ escape (date. value );
XmlHttp. open ("GET", url, true );
XmlHttp. onreadystatechange = callback;
XmlHttp. send (null );
}
Function callback (){
If (xmlHttp. readyState = 4 ){
If (xmlHttp. status = 200 ){
Var mes = xmlHttp. responseXML. getElementsByTagName_r ("message") [0]. firstChild. data;
Var val = xmlHttp. responseXML. getElementsByTagName_r ("passed") [0]. firstChild. data;
SetMessage (mes, val );
}
}
}
Function setMessage (message, isValid ){
Var messageArea = document. getElementByIdx_x ("dateMessage ");
Var fontColor = "red ";
If (isValid ){
FontColor = "green ";
}
MessageArea. innerHTML = "<font color =" + fontColor + ">" + message + "</font> ";
}
</Script>
</Html>
Server code
<% @ WebHandler Language = "C #" class = "Handler" %>
Using System;
Using System. Web;
Using System. Text;
Using System. Collections;
Public class Handler: IHttpHandler {
Public void ProcessRequest (HttpContext context ){
Bool pass = Validate (context. Request. QueryString ["birthDate"]);
Context. Response. ContentType = "text/xml ";
Context. Response. AddHeader ("Cache-Control", "no-cache ");
String message = "the date you entered is incorrect .";
If (pass)
{
Message = "the date you entered is correct .";
}
Context. Response. Write ("<response> ");
Context. Response. Write ("<passed>" + pass + "</passed> ");
Context. Response. Write ("<message>" + message + "</message> ");
Context. Response. Write ("</response> ");
Context. Response. End ();
}
Public bool Validate (string date)
{
Bool isValid = true;
If (date! = Null)
{
Try
{
DateTime. Parse (date );
}
Catch (Exception)
{
IsValid = false;
}
}
Else
{
IsValid = false;
}
Return isValid;
}
Public bool IsReusable {
Get {
Return false;
}
}
}