X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FTutorial%2F09_AdvancedCRUD%2F09_FormFu.pod;h=adc0b23db66aed63767e7fa99203f6a1818eb100;hp=9d32b5e270811029faa41962f97328affbc1a631;hb=56a12748311fdb2580d7ad7cd84c255cd4447d8b;hpb=b1b6582a2c886a0ae462b778150b2d2a358e1fd9 diff --git a/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormFu.pod b/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormFu.pod index 9d32b5e..adc0b23 100644 --- a/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormFu.pod +++ b/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormFu.pod @@ -63,9 +63,9 @@ and restore data to/from the database. See L for additional form management options other than L. -Source code for the tutorial in included in the F directory -of the Tutorial Virtual machine (one subdirectory per chapter). There -are also instructions for downloading the code in +Source code for the tutorial in included in the F +directory of the Tutorial Virtual machine (one subdirectory per +chapter). There are also instructions for downloading the code in L. @@ -78,7 +78,7 @@ L. =head2 Inherit From Catalyst::Controller::HTML::FormFu -First, change your C to inherit from +First, change your F to inherit from L by changing the C line from the default of: @@ -92,28 +92,28 @@ Don't forget to add: requires 'HTML::FormFu'; requires 'Catalyst::Controller::HTML::FormFu'; - requires 'requires 'HTML::FormFu::Model::DBIC';'; + requires 'HTML::FormFu::Model::DBIC'; to your C. =head2 Add Action to Display and Save the Form -Open C in your editor and add the +Open F in your editor and add the following method: =head2 formfu_create - + Use HTML::FormFu to create a new book - + =cut - + sub formfu_create :Chained('base') :PathPart('formfu_create') :Args(0) :FormConfig { my ($self, $c) = @_; - + # Get the form that the :FormConfig attribute saved in the stash my $form = $c->stash->{form}; - + # Check if the form has been submitted (vs. displaying the initial # form) and if the data passed validation. "submitted_and_valid" # is shorthand for "$form->submitted && !$form->has_errors" @@ -139,7 +139,7 @@ following method: # Add the authors to it $select->options(\@authors); } - + # Set the template $c->stash(template => 'books/formfu_create.tt2'); } @@ -147,13 +147,13 @@ following method: =head2 Create a Form Config File -Although C supports any configuration file handled by +Although L supports any configuration file handled by L, most people tend to use YAML. First create a directory to hold your form configuration files: $ mkdir -p root/forms/books -Then create the file C and enter the +Then create the file F and enter the following text: --- @@ -168,14 +168,14 @@ following text: # This is an optional 'mouse over' title pop-up attributes: title: Enter a book title here - + # Another text field for the numeric rating - type: Text name: rating label: Rating attributes: title: Enter a rating between 1 and 5 here - + # Add a drop-down list for the author selection. Note that we will # dynamically fill in all the authors from the controller but we # could manually set items in the drop-list by adding this YAML code: @@ -185,20 +185,20 @@ following text: - type: Select name: authors label: Author - + # The submit button - type: Submit name: submit value: Submit B Copying and pasting YAML from Perl documentation is sometimes -tricky. See the L section of +tricky. See the L section of this document for a more foolproof config format. =head2 Update the CSS -Edit C and add the following lines to the +Edit F and add the following lines to the bottom of the file: ... @@ -218,21 +218,21 @@ These changes will display form elements vertically. =head2 Create a Template Page To Display The Form -Open C in your editor and enter the +Open F in your editor and enter the following: [% META title = 'Create/Update Book' %] - + [%# Render the HTML::FormFu Form %] [% form %] - -

Return to book list

=head2 Add Links for Create and Update via C -Open C in your editor and add the following to +Open F in your editor and add the following to the bottom of the existing file: ... @@ -242,7 +242,7 @@ the bottom of the existing file:

This adds a new link to the bottom of the book list page that we can use -to easily launch our HTML::FormFu-based form. +to easily launch our L-based form. =head2 Test The HTML::FormFu Create Form @@ -252,7 +252,7 @@ Make sure the server is running with the "-r" restart option: $ script/myapp_server.pl -r Login as C (password: mypass). Once at the Book List page, -click the new HTML::FormFu "Create" link at the bottom to display the +click the new L "Create" link at the bottom to display the form. Fill in the following values: Title: Internetworking with TCP/IP Vol. II @@ -291,7 +291,7 @@ whitespace from fields or to escape meta-characters in user input. =head2 Add Constraints -Open C in your editor and update it +Open F in your editor and update it to match: --- @@ -314,7 +314,7 @@ to match: max: 40 # Override the default of 'Invalid input' message: Length must be between 5 and 40 characters - + # Another text field for the numeric rating - type: Text name: rating @@ -338,7 +338,7 @@ to match: min: 1 max: 5 message: "Must be between 1 and 5." - + # Add a select list for the author selection. Note that we will # dynamically fill in all the authors from the controller but we # could manually set items in the select by adding this YAML code: @@ -359,12 +359,12 @@ to match: constraints: # Make sure it's a number - Integer - + # The submit button - type: Submit name: submit value: Submit - + # Global filters and constraints. constraints: # The user cannot leave any fields blank @@ -378,7 +378,7 @@ to match: - HTMLEscape B Copying and pasting YAML from Perl documentation is sometimes -tricky. See the L section of +tricky. See the L section of this document for a more foolproof config format. The main changes are: @@ -389,7 +389,7 @@ The main changes are: The C