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=0dcc0af076f0bce5e859f65b457a645faad020da;hp=195e6f4410e9638de99dfcb22c8849db42e1f775;hb=7ce05098c9b1df9078e709e5a724e821a3b3b00d;hpb=512ec6d005f882e9f4502be3bfc9db2be2e7e1fd diff --git a/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormFu.pod b/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormFu.pod index 195e6f4..0dcc0af 100644 --- a/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormFu.pod +++ b/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormFu.pod @@ -103,17 +103,17 @@ Open C 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'); } @@ -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,7 +185,7 @@ following text: - type: Select name: authors label: Author - + # The submit button - type: Submit name: submit @@ -222,11 +222,11 @@ Open C in your editor and enter the following: [% META title = 'Create/Update Book' %] - + [%# Render the HTML::FormFu Form %] [% form %] - -

Return to book list

@@ -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 @@ -426,18 +426,18 @@ C and add the following method to the bottom: =head2 formfu_edit - + Use HTML::FormFu to update an existing book - + =cut - - sub formfu_edit :Chained('object') :PathPart('formfu_edit') :Args(0) + + sub formfu_edit :Chained('object') :PathPart('formfu_edit') :Args(0) :FormConfig('books/formfu_create.yml') { my ($self, $c) = @_; - + # Get the specified book already saved by the 'object' method my $book = $c->stash->{object}; - + # Make sure we were able to get a book unless ($book) { # Set an error message for the user & return to books list @@ -445,10 +445,10 @@ bottom: {mid => $c->set_error_msg("Invalid book -- Cannot edit")})); $c->detach; } - + # 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" @@ -475,7 +475,7 @@ bottom: # Populate the form with existing values from DB $form->model->default_values($book); } - + # Set the template $c->stash(template => 'books/formfu_create.tt2'); }