Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
HTML::FormHandler::ManUser:Contributed PerHTML::FormHandler::Manual::Errors(3)

       HTML::FormHandler::Manual::Errors - FormHandler error methods

       version 0.40068

       Manual Index

       Errors and error	messages for HTML::FormHandler.

       Errors are added	to field or form objects by the	field 'add_error'
       method or the form 'add_form_error' method. FormHandler will perform
       the 'add_error' for you for built-in validation or 'apply' actions.
       When performing your own	validation in a	validation method, you must do
       the 'add_error' yourself.

       Errors, along with 'input' and 'value' attributes, are collected	in the
       FormHandler 'result' objects. A number of error retrieving methods are
       delegated to the	field and form classes.

       The existence (or not) of errors	determines whether or not the form has
       been 'validated'.

Form methods
	   Returns an array of localized error strings (both field and form

	       my @errors = $form->errors;

	   Note: this is a form	method,	not a result method. For the same
	   thing from a	result object, use "$result->form_and_field_errors".

	   Both	'form' errors and errors from the tree of subfields

	       if( $form->has_errors ) {
		   <do something>

       form_errors, all_form_errors
	   Returns an arrayref / array of error	strings	on the form (not
	   including field errors).

	       foreach my $err ( $self->all_form_errors	) {
		   $output .= "<span class="error">$err</span>";

	   Does	the form have form_errors?

	   Add an error	to the form which is not associated with a specific

	       sub validate {
		   my $self = shift;
		   unless( <some condition> ) {

	   Add a non-localized error to	the form.

Field methods
       The most	common error method is probably	'add_error', which you use in
       the validation process.

	   sub validate_foo {
	       my ( $self, $field ) = @_;
	       unless (	<some_condition> ) {
		   $field->add_error('Error condition');

	   Returns an array of error strings.

	   Does	the field have errors? Note that a compound field that
	   contains subfields with errors will not return true for this
	   method. If you want to know if there	are errors in the subfields,
	   do 'has_error_fields'.

	   Add an error	to the field. Localization is performed.

	   Add an error	without	localization.

	   In a	compound field (and its	subclasses, like 'Repeatable'),	the
	   list	of fields with errors.

Result methods
       The input, value, and error attributes are actually stored in the
       result objects. Although	most of	the methods are	delegated to the form
       and field classes, there	are times, such	as when	rendering (because you
       might be	rendering a result that's been peeled off of the form object),
       that you	may need to use	result methods.

       These are the main methods that you might need to use.

	   The results with errors; 'error_fields' is a	wrapper	around this.

       The base	field class and	the field subclasses have some 'built-in'
       error messages.	These can be modified by setting the 'messages'
       hashref in the form or the individual fields.

       When a message is retrieved in a	field with
       "$field->get_message('upload_file_')" for example, the 'get_message'
       method will look	first in user-set field	specific messages, then	in
       user-supplied form messages, finally in messages	provided by the	field

	  package MyApp::Form;
	  use HTML::FormHandler::Moose;
	  extends 'HTML::FormHandler';

	  sub build_messages {
	      return { required	=> '....', my_message => '....'	};
	  my $form = MyApp::Form->new( messages	=> { required => '...',	...} );
	  has_field 'my_field' => ( messages =>	{ required => 'Please provide a	my_field' },
	      required => 1 );

       FormHandler Contributors	- see HTML::FormHandler

       This software is	copyright (c) 2017 by Gerda Shank.

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

perl v5.32.0			  2017-07-HTML::FormHandler::Manual::Errors(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | Form methods | Field methods | Result methods | Messages | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:

home | help