Switch from user 'root' to 'catalyst' on VM
[catagits/Catalyst-Manual.git] / lib / Catalyst / Manual / Tutorial / 09_AdvancedCRUD / 09_FormHandler.pod
index 1298e2b..8db2e5f 100644 (file)
@@ -56,15 +56,16 @@ L<Appendices|Catalyst::Manual::Tutorial::10_Appendices>
 
 =head1 DESCRIPTION
 
-This portion of the tutorial explores L<HTML::FormHandler|HTML::FormHandler> and 
-how it can be used to manage forms, perform validation of form input, 
-as well as save and restore data to/from the database.  This was written
-using HTML::FormHandler version 0.28001.
+This portion of the tutorial explores
+L<HTML::FormHandler> and how it can be used to manage
+forms, perform validation of form input, and save and restore data
+to or from the database. This was written using HTML::FormHandler version
+0.28001.
 
 See 
-L<Catalyst::Manual::Tutorial::09_AdvancedCRUD|Catalyst::Manual::Tutorial::09_AdvancedCRUD>
+L<Catalyst::Manual::Tutorial::09_AdvancedCRUD>
 for additional form management options other than 
-L<HTML::FormHandler|HTML::FormHandler>.
+L<HTML::FormHandler>.
 
 
 =head1 Install HTML::FormHandler
@@ -75,9 +76,9 @@ from CPAN:
 
     sudo cpan HTML::FormHandler::Model::DBIC 
 
-It will install L<HTML::FormHandler> as a prereq. 
+It will install L<HTML::FormHandler> as a prerequisite. 
 
-Also add:
+Also, add:
 
     requires 'HTML::FormHandler::Model::DBIC';
 
@@ -85,13 +86,13 @@ to your C<Makefile.PL>.
 
 =head1 HTML::FormHandler FORM CREATION
 
-This section looks at how L<HTML::FormHandler|HTML::FormHandler> can be used to 
+This section looks at how L<HTML::FormHandler> can be used to 
 add additional functionality to the manually created form from Chapter 4.
 
 
 =head2 Using FormHandler in your controllers 
 
-FormHandler doen't have a Catalyst base controller, because interfacing
+FormHandler doesn't have a Catalyst base controller, because interfacing
 to a form is only a couple of lines of code.
 
 =head2 Create a Book Form
@@ -149,9 +150,9 @@ Add the following methods:
         $c->stash( template => 'books/form.tt2', form => $form );
         $form->process( item => $book, params => $c->req->params );
         return unless $form->validated;
-        $c->flash( message => 'Book created' );
-        # Redirect the user back to the list page
-        $c->response->redirect($c->uri_for($self->action_for('list')));
+        # Set a status message for the user & return to books list
+        $c->response->redirect($c->uri_for($self->action_for('list'),
+            {mid => $c->set_status_msg("Book created")}));
     }
 
 These two methods could be combined at this point, but we'll use the 'form'
@@ -221,15 +222,15 @@ Add range constraints to the 'rating' field:
    has_field 'rating' => ( type => 'Integer', range_start => 1, range_end => 5 );
 
 The 'authors' relationship is a 'many-to-many' pseudo-relation, so this field
-can be set to Multiple to allow the selection of multiple authors and make it
+can be set to Multiple to allow the selection of multiple authors; also, make it
 required:
 
    has_field 'authors' => ( type => 'Multiple', label_column => 'last_name',
                             required => 1 );
 
-Note: FormHandler automatically strips whitespace at the beginning or end of fields.
-If you want some other kind of stripping (or none) you can specify it explicitly.
-(see L<HTML::FormHandler::Manual>)
+Note: FormHandler automatically strips whitespace at the beginning and
+end of fields. If you want some other kind of stripping (or none) you
+can specify it explicitly; see L<HTML::FormHandler::Manual>.
 
 =head2 Try Out the Updated Form