X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FTutorial%2FAdvancedCRUD%2FFormFu.pod;fp=lib%2FCatalyst%2FManual%2FTutorial%2FAdvancedCRUD%2FFormFu.pod;h=4e6dba6814999f98c89b68fe7681bf3e397fb56b;hp=367b85079afd0a2eeba37c8056a814df19d1e46b;hb=f279297ad42ed1dc1fc4e2289a4a1dc17acf91d7;hpb=5fefca357853d5b50a5d65a3ed4324396a6a005a diff --git a/lib/Catalyst/Manual/Tutorial/AdvancedCRUD/FormFu.pod b/lib/Catalyst/Manual/Tutorial/AdvancedCRUD/FormFu.pod index 367b850..4e6dba6 100644 --- a/lib/Catalyst/Manual/Tutorial/AdvancedCRUD/FormFu.pod +++ b/lib/Catalyst/Manual/Tutorial/AdvancedCRUD/FormFu.pod @@ -1,5 +1,7 @@ =head1 NAME + + Catalyst::Manual::Tutorial::AdvancedCRUD::FormFu - Catalyst Tutorial - Part 9: Advanced CRUD - FormFu @@ -315,23 +317,15 @@ to match: # 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 @@ -340,15 +334,17 @@ to match: 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 + - Required # Make sure it's a number - Integer + message: "Digits only, please." + # Filters apply before constraints. + # If a user gives the rating "excellent", the NonNumeric filter would remove the entire string as it contains no digits. + # Remove the NonNumeric filter and let the Integer constraint handle the validation and error message. # Add a select list for the author selection. Note that we will # dynamically fill in all the authors from the controller but we @@ -366,12 +362,6 @@ to match: # 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 @@ -382,10 +372,16 @@ to match: name: submit value: Submit - # Globally ensure that each field only specified one value + # Global filters and constraints. constraints: - # The user cannot leave any fields blank - - Required + # The user cannot leave any fields blank + - Required + # If not all fields are required, move the Required constraint to the fields that are. + filter: + # Remove whitespace at both ends + - TrimEdges + # Escape HTML characters for safety + - HTMLEscape B Copying and pasting YAML from perl documentation is sometimes tricky. See the L section of @@ -564,7 +560,6 @@ Apache config files. constraints Required - constraints SingleValue min 5 max 40 @@ -581,7 +576,6 @@ Apache config files. - constraints SingleValue constraints Integer filter TrimEdges filter NonNumeric