From: Kirrily R. <sk...@us...> - 2001-02-23 22:33:36
|
Update of /cvsroot/formmagick/formmagick/FormMagick In directory usw-pr-cvs1:/tmp/cvs-serv3611/FormMagick Modified Files: FAQ.pod L10N.pm Log Message: Lots of messing around to get validation working. Turned out it was pilot error, but at least now there's some useful tweaks and error messages in the validate_input subroutine. Index: FAQ.pod =================================================================== RCS file: /cvsroot/formmagick/formmagick/FormMagick/FAQ.pod,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** FAQ.pod 2000/11/12 09:03:40 1.1 --- FAQ.pod 2001/02/23 22:34:42 1.2 *************** *** 3,7 **** --- 3,71 ---- FormMagick FAQ - Frequently asked questions about FormMagick + + =head1 HOW DO I... + + =head2 How do I check that my XML is valid? + + =head2 How do I customise the look and feel of my forms? + + Use cascading style sheets. Take a look at the HTML source output by + FormMagick, and you'll see that most things have a "label" attribute to + make CSS easier. + + =head2 How do I make my own validation routines? + + Simply create a routine in your CGI script which accepts the data to + validate as an argument. Have it return "OK" on success or a detailed + error message on failure. + + sub my_validation { + my $data = shift; + if ($data =~ /$some_pattern/) { + return "OK"; + } else { + return "That looks wrong to me."; + } + } + + =head2 How do I add translations into another language? + + Use the add_lexicon() method: + + $f->add_lexicon("fr", { "Yes" => "Oui", "No" => "Non" }); + + =head2 How do I do extra processing when a user clicks "Next"? + + Use a POST-EVENT on the PAGE element. Create a subroutine that does + what you want: + + sub process_credit_card { + my $cgi = shift; + my $cardnum = $cgi->param("cardnum"); + my $response = do_processing($cardnum); + print "<p>$response</p>"; + } + + =head2 How do I choose which page to go to based on user input? + + Use a PAGE POST-EVENT and set the value of the "wherenext" CGI + parameter: + + sub my_post_page_event { + my $cgi = shift; + if ($cgi->param("foo") eq "bar") { + $cgi->param(-name => "wherenext", -value => "GoToThisPageName") + } elsif ($cgi->param("had_enough") eq "Yes") { + $cgi->param(-name => "wherenext", -value => "Finish") + } + } + =head1 TROUBLESHOOTING + + =head2 General troubleshooting tips + + Try turning on debugging when you invoke FormMagick: + + my $f = new FormMagick( DEBUG => 1 ); =head2 Why isn't my data preserved from one page to the next? Index: L10N.pm =================================================================== RCS file: /cvsroot/formmagick/formmagick/FormMagick/L10N.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** L10N.pm 2000/12/11 23:28:13 1.3 --- L10N.pm 2001/02/23 22:34:42 1.4 *************** *** 19,26 **** =head1 DESCRIPTION ! FormMagick uses the C<Locale::Maketext> module for L10N. L10N lexicons ! are kept in an L10N subdirectory and given names like L10N/fr.pm. ! The lexicons take the form of a Perl hash: %Lexicon = ( "Hello" => "Bonjour", --- 19,33 ---- =head1 DESCRIPTION ! L10N (Localisation) is the name given to the process of providing ! translations into another language. The previous step to this is I18N ! (internationalisation) which is the process of making an application ! ready to accept the translations. + We've done the work of I18N for you, so all you have to do is provide + translations for your apps. + + FormMagick uses the C<Locale::Maketext> module for L10N. It stores its + translations for each language in a hash like this: + %Lexicon = ( "Hello" => "Bonjour", *************** *** 28,33 **** ); Localisation preferences are picked up from the HTTP_ACCEPT_LANGUAGE ! environment variable passed by the user's browser. Localisation is performed on: --- 35,45 ---- ); + You can add your own entries to any language lexicon using the + C<add_lexicon()> method (see C<FormMagick> for how to call that method). + Localisation preferences are picked up from the HTTP_ACCEPT_LANGUAGE ! environment variable passed by the user's browser. In Netscape, you set ! this by choosing "Edit, Preferences, Navigator, Languages" and then ! choosing your preferred language. Localisation is performed on: *************** *** 45,49 **** =item * ! Field labels =item * --- 57,61 ---- =item * ! Field labels and descriptions =item * *************** *** 62,67 **** More information about FormMagick may be found at http://sourceforge.net/projects/formmagick/ - - =cut --- 74,77 ---- |