Monday, March 15, 2010

Validate date from java script client side

Java script function

function isDate(dtStr)
        {
            var daysInMonth = DaysArray(12)
            var pos1
            var pos2
            var strMonth
            var strDay
            var strYear
            pos1=dtStr.indexOf(dtCh)
                if (pos1 < 0)
                {
                    pos1=dtStr.indexOf(dtCh2)
                    pos2=dtStr.indexOf(dtCh2,pos1+1)
                }
                else
                {
                    pos2=dtStr.indexOf(dtCh,pos1+1)
                }

                strMonth=dtStr.substring(0,pos1)
                strDay=dtStr.substring(pos1+1,pos2)
                strYear=dtStr.substring(pos2+1)

                strYr=strYear

                if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
                if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
                if (strYr.length == 2)
                {
                   var dt=new Date();
                   var y = dt.getFullYear();
                   var yr = y.toString();
                   yr = yr.substring(0,2);
                   strYr = yr + strYr;
                   strYear = strYr;
                }
               
                for (var i = 1; i <= 3; i++)
                {
                if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
                }
               
                month=parseInt(strMonth)
                day=parseInt(strDay)
                year=parseInt(strYr)

                //if (pos1==-1 || pos2==-1){
                //    alert("The date format should be : mm/dd/yyyy")
                //    return false
                //}

                if (strMonth.length<1 || month<1 || month>12)
                {
                    alert("Please enter a valid month")
                    return false
                }

                if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month])
                {
                    alert("Please enter a valid day")
                    return false
                }
               
                if (strYear.length != 4 || year==0 || yearmaxYear){
                    alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
                    return false
                }               
                if (dtStr.indexOf(dtCh) > 0)
                {
                    if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
                        alert("Please enter a valid date")
                        return false
                    }
                }
                else if (dtStr.indexOf(dtCh2) > 0)
                {
                    if (dtStr.indexOf(dtCh2,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh2))==false){
                        alert("Please enter a valid date")
                        return false
                    }
                }

                return true;
       }

Call from validate function

function CheckBlank(arg)
            {
             sender=arg;
            
                      
               var ChkRad = document.getElementById('<%=QuoteInvoiceRadio.ClientID%>');
             
                var radio = ChkRad.getElementsByTagName("input");
              if(radio[0].checked)
                {
             
              if (document.getElementById('<%=txtSample.ClientID%>').value !="")
                  {
                
                  if(isDate(document.getElementById('<%=txtSample.ClientID%>').value)==false)
                  {
                  return false;
                  }
               
                   if (document.getElementById('<%=txtquantity.ClientID%>').value =="")
                    {
                    alert('Please Insert Quantity');
                    document.getElementById('<%=txtquantity.ClientID%>').focus();
                    return false;
                    }              
                  }
 
              if(document.getElementById('<%=txtquantity.ClientID%>').value !="")
               {
               
                 if (document.getElementById("<%=txtSample.ClientID%>").value =="")
                 {
               
                    alert("Please Insert Additional Sample Date");
                    document.getElementById("<%=txtSample.ClientID%>").focus();
                    return false;
                 }
               }
             if (document.getElementById("<%=txtQuoteReceived.ClientID%>").value !="")
               {
               if(isDate(document.getElementById("<%=txtQuoteReceived.ClientID%>").value)==false)
               {
               return false;
               }

                  if (document.getElementById("<%=txtquote.ClientID%>").value =="")
                  {
                    alert("Please Insert Quote number");
                    document.getElementById("<%=txtquote.ClientID%>").focus();
                    return false;
                  }
               }
              if(document.getElementById("<%=txtQuoteApproved.ClientID%>").value !="")
               {
                 if(isDate(document.getElementById("<%=txtQuoteApproved.ClientID%>").value)==false)
                 {
                 return false;
                 }

               
                 if (document.getElementById("<%=txtquote.ClientID%>").value =="")
                 {
                    alert("Please Insert Quote number");
                    document.getElementById("<%=txtquote.ClientID%>").focus();
                    return false;
                 }
                 else if(document.getElementById("<%=txtQuotePrice.ClientID%>").value =="")
                 {
                    alert("Please Insert Quote Price");
                    document.getElementById("<%=txtQuotePrice.ClientID%>").focus();
                    return false;
                 }
                }
                if(document.getElementById("<%=txtQuotePrice.ClientID%>").value !="")
                {
                  if (document.getElementById("<%=txtQuoteApproved.ClientID%>").value =="")
                  {
                    alert("Please Enter Quote Approved Date");
                    document.getElementById("<%=txtQuoteApproved.ClientID%>").focus();
                    return false; 
                  }
                  else if (document.getElementById("<%=txtquote.ClientID%>").value =="")
                  {
                    alert("Please Insert Quote number");
                    document.getElementById("<%=txtquote.ClientID%>").focus();
                    return false;
                  }
                }
                if(sender =='send')
                {
               OpenModelPopup(); 
               return false; 
               }
             
            }
            else if(radio[1].checked)
            {
           if(document.getElementById("<%=txtInvoiceReceived.ClientID%>").value !="")
                {
                 if(isDate(document.getElementById("<%=txtInvoiceReceived.ClientID%>").value)==false)
                 {
                 return false;
                 }

                
                 if(document.getElementById("<%=txtInvoice.ClientID%>").value =="")
                    {
                    alert("Please insert Invoice number");
                    document.getElementById("<%=txtInvoice.ClientID %>").focus();
                    return false;  
                    }
                }
               if(document.getElementById("<%=txtInvoiceApproved.ClientID%>").value !="")
              {
            
                 if(isDate(document.getElementById('<%=txtInvoiceApproved.ClientID%>').value)==false)
                     {
                     return false;
                     }
                
                
              if(document.getElementById("<%=txtInvoice.ClientID%>").value =="")
                {
                 alert("Please insert Invoice number");
                 document.getElementById("<%=txtInvoice.ClientID%>").focus();
                 return false;
                }
                 if(document.getElementById("<%=txtInvoiceamount.ClientID%>").value =="")
                {
                alert("Please insert Invoice Amount");
                document.getElementById("<%=txtInvoiceamount.ClientID%>").focus();
                return false;
                }
                
              }
               if(document.getElementById("<%=txtInvoiceamount.ClientID%>").value !="")
              {
                if(document.getElementById("<%=txtInvoice.ClientID%>").value =="")
                {
                 alert("Please insert Invoice number");
                 document.getElementById("<%=txtInvoice.ClientID%>").focus();
                 return false;
                }
                else if(document.getElementById("<%=txtInvoiceApproved.ClientID%>").value =="")
                {
                alert("Please insert Invoice Approved Date");
                document.getElementById("<%=txtInvoiceApproved.ClientID%>").focus();
                return false;
                }
              }
              if(sender =='send')
                {
               OpenModelPopup(); 
               return false; 
               }
              
            }
            
         }