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

From: Date: Tue, 01 Apr 2003 20:23:15 +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-1064@lists.php.net to get a copy of this message
Thanks Simon, That version is really cool. But then I got a problem. When I get the first time to compile the template It parses ok and I can produce the form validation. But when the compiled template already exists then I get this error. Fatal error: Call to a member function on a non-object in /etc/httpd/htdocs/newspublisher/plugins/function.form.php on line 47 This should be a problem with create_field method. TIA, Ernani "Simon H" <simon.hamilton@ntlworld.com> escreveu na mensagem news:000401c2f7df$a4f48090$f5cf0350@dave... > Hi Ernani > > SmartyForm has a well documented working example (with some config > settings of course) in CVS...I think you should find that SmartyForm > will do most, if not all of what you need. > > The current package and official docs are out-dated. CVS verson is > working fine! Client-side email validation has been added, also a > pattern valdation (alphanumeric and the like) and some other stuff. > Check the usage examples in each of the validation functions. > > Also a formlabel function has been added to include client and server > side label highlighting in validation...this works nice, but some > changes will likely happen here in the future. A form error function has > been added which can be placed anywhere in the form to show all form > errors. All valdation functions are documetned with examples. > > Have a look at the webcvs of smartyform: > > > http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/smartyform/smartyform/exa-n©F—òáWÏZÙ > > mples/medium_example/ > > Or get the whole CVS tree. The readme in this example and the inline > docs in the templates explain everything so far. > > If you have any ideas or suggestions (other than the lack of docs of > course) for SmartyForm v.2 please post to the smartyform-general list: > > http://sourceforge.net/mail/?group_id=62399 > > Hope this helps! > > Simon H > > > -----Original Message----- > > From: Ernani Joppert Pontes Martins > > [mailto:ernani_listas@terra.com.br] > > Sent: Monday, March 31, 2003 11:10 PM > > To: smarty-dev@lists.php.net > > Subject: Re: [SMARTY-DEV] Smarty html forms validation builtin request > > > > > > 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> > > > > > > > > > > > -- > > Smarty Development Mailing List (http://smarty.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > >

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