[dokuwiki] Re: Editing Toolbar

  • From: "Bill Jones" <tetragondzein@xxxxxxxxx>
  • To: dokuwiki@xxxxxxxxxxxxx
  • Date: Wed, 24 Jan 2007 18:20:47 -0500

On 1/24/07, Andreas Gohr <andi@xxxxxxxxxxxxxx> wrote:
On Wed, 24 Jan 2007 12:06:59 -0500
"Terence J. Grant" <tjgrant@xxxxxxxxxxxx> wrote:

> Would you be willing to add some JavaScript "onError" handler to let
> the user know there's a potential problem displaying the toolbar when
> trying to edit?

What do you mean by "onError" handler? wrapping everything in a large
try-catch block?



Maybe this kind of block?

function valid_dt() {
 try {
        var myFrom    = document.getElementById("blackout_add_from");
        var myThru    = document.getElementById("blackout_add_to");
        var myMessage = document.getElementById("blackout_add_delta");

        if (myFrom.value < document.blackouts.cust_dt.value) {
                myMessage.value = "Error: selected blackout dates are invalid";
                return false;
        }

        if (myThru.value < myFrom.value) {
                myMessage.value = "Error: selected blackout dates are invalid";
                return false;
        }

 function ValidateData(myData,type) {
          var test;
          if (type == 0) {
                  test = "FROM";
          } else {
                  test = "THRU"
          }
        
        myMonthDays = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
        // 1=Year, 2=Month, 3=Day, 4=HH, 5=MM
        var splitDate  = /^(\d{4})\-(\d{2})\-(\d{2})\s(\d{2})\:(\d{2}).*/;
        var myDateA = splitDate.exec(myData);
        if (!(myDateA && myDateA.length != 5)) { // Did the RE bomb?
                myMessage.value = "Error: selected blackout dates are invalid";
                return false;
        }

        if (myDateA[4] < 0 || myDateA[4] > 23 || myDateA[5] < 0 || myDateA[5] > 
59) {
                myMessage.value = "Error: selected blackout dates are invalid";
                return false;
        }

        if (myDateA[2] < 1 || myDateA[2] > 12) {
                myMessage.value = "Error: selected blackout dates are invalid";
                return false;
        }
        myDays  = myMonthDays[myDateA[2]];

        if (myDateA[3] == 29 && myDateA[2] == 2) {
                if ( (myDateA[1] % 4 == 0) && ( (!(myDateA[1] % 100 == 0)) ||
(myDateA[1] % 400 == 0)) ) {
                        // Leap Year
                } else {
                        myMessage.value = "Error: selected blackout dates are 
invalid";
                        return false;
                }
        } else {
                if (myDateA[3] > myDays) {
                        myMessage.value = "Error: selected blackout dates are 
invalid";
                        return false;
                }
        }
 // End of ValidateData function ...
        return true;
 }

        if ((ValidateData(myFrom.value,0) && ValidateData(myThru.value,1))) {
                return true;
        } else {
                return false;
        }

 } catch(e) {
        // Disable the update!
        myMessage.value = "Parse Error!";
        return false;
 }
}

--
WC (Bill) Jones -- http://youve-reached-the.endoftheinternet.org/
http://pgp.mit.edu:11371/pks/lookup?op=vindex&search=0x2A46CF06&fingerprint=on
--
DokuWiki mailing list - more info at
http://wiki.splitbrain.org/wiki:mailinglist

Other related posts: