Re: [SMARTY-DEV] Smarty html forms validation builtin request

From: Date: Mon, 31 Mar 2003 22:10:02 +0000
Subject: Re: [SMARTY-DEV] Smarty html forms validation builtin request
References: 1 2  Groups: php.smarty.dev 
Request: Send a blank email to php-smarty-dev+get-1059@lists.php.net to get a copy of this message
Ok, thanks The only problem of this function is that it is not well documented. Perhaps some builtin function should get smarty more powerfull. []'s Ernani "Monte Ohrt" <monte@ispi.net> escreveu na mensagem news:1049123228.18551.11.camel@lena.ispi.prv... > Yes you can, that's what custom functions are for. I believe there are > already some efforts with form validation functions for smarty, such as > smartyform.sourceforge.net. > > Monte > > On Sun, 2003-03-30 at 23:53, Ernani Joppert Pontes Martins wrote: > > Hi there, > > > > I was trying to change my Smarty.Compiler class to do some built in > > javascript routines to validate forms. > > > > The better I got was what I need to do to make it work correctly. > > > > Dear Monte Ohrt or Andrei Zmievski, > > > > Do you both like this idea? > > > > The thing is that the method compile file call the method compile_tag > > method. > > so then I've added a {form...} case in that method so it does interpret the > > tags {form name="x" method="..." ..} and either a closing case to "/form" > > tag that produces a simple </form> > > > > Here is the need, the compile tag only process smarty tags, leaving html > > code there. > > > > The need is to process first time the {form} {input} {select} tags finding a > > validate parameter equals to true > > > > like this > > > > {form name="test" validate="true"} > > Test {input type="text" name="testtext" size="10" > > validate="true" > > required="The field test is required."} > > {/form validate="true"} > > > > to change to > > <script language="javascript"> > > function validateForm(obj) > > { > > if(document.testtext.value == "") > > { > > alert{"The field test is required."); > > } > > } > > </script> > > > > <form name="test" onsubmit="validateForm(this);"> > > <input type="text" name="testtext" size="10"> > > </form> > > > > The main goal of this procedure is to read all the template searching for > > {form validate="true"} > > and change it to: > > <script language="javascript"> > > function validateForm(obj) > > { > > > > Then search for {input type="any" name="it" validate="true" > > required="Message"} > > and change it to: > > if(document.testtext.value == "") > > { > > alert{"Message"); > > } > > > > And then again search for {/form} and change it to: > > </script> > > > > With this we achieved the script validation and if it was assigned to the > > template like this : > > > > <html> > > <head> > > {scriptvalidate} > > </head> > > > > The code should be transformed to : > > > > <html> > > <head> > > <script language="javascript"> > > function validateForm(obj) > > { > > if(document.testtext.value == "") > > { > > alert{"The field test is required."); > > } > > } > > </script> > > </head> > > > > The main goal is to compile javascript validation first if exists > > then compile all tags like it does already only adding form /form input > > select and textarea > > cases on the _compile_tag method. > > > > And assign this javascript code to a smarty reserved variable that if > > defined in a part of each header template it assign it and change the code. > > > > With this we can add more functionality to smarty and to php either since it > > will be more complete. > > Then we can implement {input validate="true" required="yes" > > emailvalue="true"} routines to validate emails, integer numbers, etc. etc. > > etc. > > > > That's my 2 cents > > > > Ernani > -- > Monte Ohrt <monte@ispi.net> >

« previous php.smarty.dev (#1059) next »