[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