.NET Diary

January 21, 2009

DateTime Validation using Javascript

Filed under: All, ASP.NET, Javascript — leoullas @ 10:51 am

function Check()

    {

        doOnOff(‘off’);

        var dtStart = document.getElementById(‘<%=txtStartDate.ClientID%>’).value;

           var dtEnd = document.getElementById(‘<%=txtEndDate.ClientID%>’).value;

 

 

           var pos1=dtStart.indexOf(dtCh)

           var strDay1=dtStart.substring(pos1)

           var pos2=dtEnd.indexOf(dtCh)

           var strDay2=dtEnd.substring(pos2)

               if(pos1>2)

               {

                     alert(“The date format should be : mm/dd/yyyy”);

                      return false;

               }

            else if (strDay1.length>8 )

               {

                      alert(“The date format should be : mm/dd/yyyy”);

                      return false;

               }

               else if(pos2>2 )

               {

                     alert(“The date format should be : mm/dd/yyyy”);

                      return false;

               }

            else if (strDay2.length>8 )

               {

                      alert(“The date format should be : mm/dd/yyyy”);

                      return false;

               }

              

               else if (dtEnd.length>10)

               {

                   alert(“The date format should be : mm/dd/yyyy”);

                   return false;

               }

               else if (isDate(dtStart)==false)

               {

            document.getElementById(‘<%=txtStartDate.ClientID%>’).focus();

            return false;

               }

               else if (isDate(dtEnd)==false)

               {

                document.getElementById(‘<%=txtEndDate.ClientID%>’).focus();

                return false;

               }

            else

            {    

                   //check bigger

                   if(Date.parse(dtStart)>0 && Date.parse(dtEnd)>0)

                           {

                         

                       if (Date.parse(dtStart) > Date.parse(dtEnd))    

                            { 

                               alert(‘<%=ShellUtility.GetMessageDetails(“1028”)%>’);                    

                               return false;

                              }

                           else

                                   { 

                                   var diff_date = Date.parse(dtEnd) – Date.parse(dtStart);

                                   if(diff_date > 2592000000)

                                   {

                                       alert(‘<%=ShellUtility.GetMessageDetails(“1027”)%>’);

                                       return false;

                                    }

                                else

                                    {

                                        return true;

                                    }           

                                   }

                           }

                      else

                           {

                            alert(‘<%=ShellUtility.GetMessageDetails(“5027”)%>’);

                            return false;

                           }

                  }

    }

//This Part is to check Date formattings

    var dtCh= “/”;   

//     var constMinYear = 1900;

//  var constMaxYear = 2020;

 

    function isInteger(s){

           var i;

        for (i = 0; i < s.length; i++){  

            // Check that current character is number.

            var c = s.charAt(i);

            if (((c < “0”) || (c > “9”))) return false;

        }

        // All characters are numbers.

        return true;

    }

 

    function stripCharsInBag(s, bag){

           var i;

        var returnString = “”;

        // Search through string’s characters one by one.

        // If character is not in bag, append to returnString.

        for (i = 0; i < s.length; i++){  

            var c = s.charAt(i);

            if (bag.indexOf(c) == -1) returnString += c;

        }

        return returnString;

    }

 

    function daysInFebruary (year){

        // February has 29 days in any year evenly divisible by four,

        // EXCEPT for centurial years which are not also divisible by 400.

        return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );

    }

    function DaysArray(n) {

           for (var i = 1; i <= n; i++) {

                  this[i] = 31;

                  if (i==4 || i==6 || i==9 || i==11) {this[i] = 30;}

                  if (i==2) {this[i] = 29;}

       }

       return this;

    }

 

    function isDate(dtStr){

           var daysInMonth = DaysArray(12)

           var pos1=dtStr.indexOf(dtCh)

           var pos2=dtStr.indexOf(dtCh,pos1+1)

           var strMonth=dtStr.substring(0,pos1)

           var strDay=dtStr.substring(pos1+1,pos2)

           var 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);

           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 || year<constMinYear || year>constMaxYear){

                  alert(“Please enter a valid 4 digit year between “+constMinYear+” and “+constMaxYear);

                  return false;

           }

           if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){

                  alert(“Please enter a valid date”);

                  return false;

           }

    return true;

    }

Advertisements

Trim() in Javascript()

Filed under: All, Javascript — leoullas @ 10:07 am

 

function trim(str, chars) {

              return ltrim(rtrim(str, chars), chars);

}

 

function ltrim(str, chars) {

              chars = chars || “\\s”;

              return str.replace(new RegExp(“^[“ + chars + “]+”, “g”), “”);

}

 

function rtrim(str, chars) {

              chars = chars || “\\s”;

              return str.replace(new RegExp(“[“ + chars + “]+$”, “g”), “”);

}

Syntax error in TextHeader of StoredProcedure

Filed under: All, Javascript, SQL — leoullas @ 8:46 am

Microsoft SQL Server Management Studio get this error when trying to modify script the above stored procedure

    

syntax-error-in-textheader-of-storedprocedure1
syntax-error-in-textheader-of-storedprocedure1

Script failed for StoredProcedure ‘dbo.usp_Edit_User’.  (Microsoft.SqlServer.Smo)

Syntax error in TextHeader of StoredProcedure ‘usp_Edit_User’. (Microsoft.SqlServer.Smo)

 Solve:

You have nested comments before your ALTER PROC, which is not possible in TSQL.  Change your header.

BEFORE:

/*

exec usp_Edit_User @Company_Id=N’9003′, @User_Id=N’WWWWWWWWWWWWWWWWWWWW’,/* @Password=N’dris#12345′,*/ @User_Name=N’cWWWWWW’, @Role_Id =N’1′, @Branch_Id=N’13001′, @Is_Locked=N’True’, @Active_Flg=N’Y’, @Modified_By=N’Test_001′, @UserTimeStamp=N’106060′

*/

CORRECTED:

 

exec usp_Edit_User @Company_Id=N’9003′, @User_Id=N’WWWWWWWWWWWWWWWWWWWW’, @User_Name=N’cWWWWWW’, @Role_Id =N’1′, @Branch_Id=N’13001′,@Is_Locked=N’True’,@Active_Flg=N’Y’, @Modified_By=N’Test_001′, @UserTimeStamp=N’106060′

Create a free website or blog at WordPress.com.

%d bloggers like this: