[Catalyst-commits] r7894 - / trunk/Catalyst-Manual/lib/Catalyst/Manual/Tutorial/AdvancedCRUD

zarquon at dev.catalyst.perl.org zarquon at dev.catalyst.perl.org
Thu Jun 5 13:10:44 BST 2008


Author: zarquon
Date: 2008-06-05 13:10:44 +0100 (Thu, 05 Jun 2008)
New Revision: 7894

Modified:
   /
   trunk/Catalyst-Manual/lib/Catalyst/Manual/Tutorial/AdvancedCRUD/FormFu.pod
Log:
 r13386 at zaphod:  kd | 2008-06-05 22:01:40 +1000
 lets use config::General



Property changes on: 
___________________________________________________________________
Name: svk:merge
   - 1b129c88-ebf4-0310-add9-f09427935aba:/local/catalyst:4278
1c72fc7c-9ce4-42af-bf25-3bfe470ff1e8:/local/Catalyst:13378
3b9770f9-e80c-0410-a7de-cd203d167417:/local/catalyst:3514
dd8ad9ea-0304-0410-a433-df5f223e7bc0:/local/Catalyst:6909
   + 1b129c88-ebf4-0310-add9-f09427935aba:/local/catalyst:4278
1c72fc7c-9ce4-42af-bf25-3bfe470ff1e8:/local/Catalyst:13386
3b9770f9-e80c-0410-a7de-cd203d167417:/local/catalyst:3514
dd8ad9ea-0304-0410-a433-df5f223e7bc0:/local/Catalyst:6909

Modified: trunk/Catalyst-Manual/lib/Catalyst/Manual/Tutorial/AdvancedCRUD/FormFu.pod
===================================================================
--- trunk/Catalyst-Manual/lib/Catalyst/Manual/Tutorial/AdvancedCRUD/FormFu.pod	2008-06-04 16:15:25 UTC (rev 7893)
+++ trunk/Catalyst-Manual/lib/Catalyst/Manual/Tutorial/AdvancedCRUD/FormFu.pod	2008-06-05 12:10:44 UTC (rev 7894)
@@ -203,8 +203,8 @@
           value: Submit
 
 B<NOTE:> Copying and pasting YAML from perl documentation is sometimes
-tricky.  See the L<Copy-Paste versions of the YAML Config> section of
-this document for a foolproof procedure.
+tricky.  See the L<Config::General Config for this tutorial> section of
+this document for a more foolproof config format.
 
 
 =head2 Update the CSS
@@ -388,8 +388,8 @@
         - Required
 
 B<NOTE:> Copying and pasting YAML from perl documentation is sometimes
-tricky.  See the L<Copy-Paste versions of the YAML Config> section of
-this document for a foolproof procedure.
+tricky.  See the L<Config::General Config for this tutorial> section of
+this document for a more foolproof config format.
 
 The main changes are:
 
@@ -554,140 +554,63 @@
 green.  Experiment with other edits to various books.
 
 
-=head2 Copy-Paste versions of the YAML Config.
+=head2  Config::General Config for this tutorial
 
-YAML, the config format used in formfu depends on whitespace and can
-behave strangely in perl documentation because POD is also whitespace
-dependent.  If you copy and paste the YAML below into the file
-C<root/forms/books/formfu_create.yml> and then run the following perl
-oneliner, you're pretty much guaranteed to get valid YAML:
+If you are having difficulty with YAML config above, please save the
+below into the file C<formfu_create.conf> and delete the
+C<formfu_create.yml> file.  The below is in
+L<Config::General|Config::General> format which follows the syntax of
+Apache config files.
 
- $ perl -p -i -e 's/\s+\|//g' root/forms/books/formfu_create.yml
+   constraints   Required
+   <elements>
+       constraints   SingleValue
+       <constraints>
+           min   5
+           max   40
+           type   Length
+           message   Length must be between 5 and 40 characters
+       </constraints>
+       filter   TrimEdges
+       filter   HTMLEscape
+       name   title
+       type   Text
+       label   Title
+       <attributes>
+           title   Enter a book title here
+       </attributes>
+   </elements>
+   <elements>
+       constraints   SingleValue
+       constraints   Integer
+       filter   TrimEdges
+       filter   NonNumeric
+       name   rating
+       type   Text
+       label   Rating
+       <attributes>
+           title   Enter a rating between 1 and 5 here
+       </attributes>
+   </elements>
+   <elements>
+       constraints   Integer
+       filter   TrimEdges
+       filter   HTMLEscape
+       name   authors
+       type   Select
+       label   Author
+       multiple   1
+       size   3
+   </elements>
+   <elements>
+       value   Submit
+       name   submit
+       type   Submit
+   </elements>
+   indicator   submit
+   
 
-=head2 YAML for the first half of the tutorial:
 
-    |---
-    |# indicator is the field that is used to test for form submission
-    |indicator: submit
-    |# Start listing the form elements
-    |elements:
-    |    # The first element will be a text field for the title
-    |    - type: Text
-    |      name: title
-    |      label: Title
-    |      # 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:
-    |    # options:
-    |    #   - [ '1', 'Bastien' ]
-    |    #   - [ '2', 'Nasseh'  ]
-    |    - type: Select
-    |      name: authors
-    |      label: Author
-    |
-    |    # The submit button
-    |    - type: Submit
-    |      name: submit
-    |      value: Submit
-
-
-=head2  YAML for the second part of the tutorial
-
-    |---
-    |# indicator is the field that is used to test for form submission
-    |indicator: submit
-    |# Start listing the form elements
-    |elements:
-    |    # The first element will be a text field for the title
-    |    - type: Text
-    |      name: title
-    |      label: Title
-    |      # This is an optional 'mouse over' title pop-up
-    |      attributes:
-    |        title: Enter a book title here
-    |      # Use Filter to clean up the input data
-    |      filter:
-    |        # Remove whitespace at both ends
-    |        - TrimEdges
-    |        # Escape HTML characters for safety
-    |        - HTMLEscape
-    |      # Add constraints for the field
-    |      constraints:
-    |        # The user cannot leave this field blank
-    |        - SingleValue
-    |        # Force the length to be between 5 and 40 chars
-    |        - type: Length
-    |          min: 5
-    |          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
-    |      label: Rating
-    |      attributes:
-    |        title: Enter a rating between 1 and 5 here
-    |      # Use Filter to clean up the input data
-    |      filter:
-    |        # Remove whitespace at both ends
-    |        - TrimEdges
-    |        # Remove everything except digits
-    |        - NonNumeric
-    |      # Add constraints to the field
-    |      constraints:
-    |        - SingleValue
-    |        # Make sure it's a number
-    |        - Integer
-    |
-    |    # 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:
-    |    # options:
-    |    #   - [ '1', 'Bastien' ]
-    |    #   - [ '2', 'Nasseh'  ]
-    |    - type: Select
-    |      name: authors
-    |      label: Author
-    |      # Convert the drop-down to a multi-select list
-    |      multiple: 1
-    |      # Display 3 entries (user can scroll to see others)
-    |      size: 3
-    |      # One could argue we don't need to do filters or constraints for
-    |      # a select list, but it's smart to do validation and sanity
-    |      # checks on this data in case a user "hacks" the input
-    |      # Use Filter to clean up the input data
-    |      filter:
-    |        # Remove whitespace at both ends
-    |        - TrimEdges
-    |        # Escape HTML characters for safety
-    |        - HTMLEscape
-    |      # Add constraints to the field
-    |      constraints:
-    |        # Make sure it's a number
-    |        - Integer
-    |
-    |    # The submit button
-    |    - type: Submit
-    |      name: submit
-    |      value: Submit
-    |
-    |# Globally ensure that each field only specified one value
-    |constraints:
-    |    # The user cannot leave any fields blank
-    |    - Required
-
 =head1 AUTHOR
 
 Kennedy Clark, C<hkclark at gmail.com>




More information about the Catalyst-commits mailing list