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

FreeBSD Manual Pages


home | help

       Form::Sensible::Renderer::HTML::RenderedForm - A	rendered form handle
       for HTML

	   use Form::Sensible::Renderer::HTML;

	   my $renderer	= Form::Sensible::Renderer::HTML->new();

	   my $renderedform = $renderer->render($form);

	   print $renderedform->complete('/myform/submit', 'POST');

       The Form::Sensible::Renderer::HTML::RenderedForm	class defines the
       result of rendering a form as HTML.  It is not generally	created
       directly, but rather is created by passing a form to the
       Form::Sensible::Renderer::HTML "render()" mathod.

       "stash" The stash used for the template processing.  Additional
	       information is added to this stash automatically	during field
	       and form	processing.

	       This is applied to all html element CSS id's and	class names.
	       By default, css_prefix is set to	"fs_"

	       Render hints provide information	on how to render certain
	       aspects of the form or field. The usage depends upon the	field
	       type in question. The information is passed through to the
	       field-specific templates	as 'render_hints' during processing.

	       A hint that is specific to the HTML renderer is "stash_vars",
	       this should be a	hash and will be passed	to the templates as
	       they are	rendered.

		       stash_vars => {
			   user_prefs => $user_prefs

	       For example in the this case, $user_prefs could be accessed in
	       any of the templates (, etc) as "[%
	       user_prefs %]".

	       Another is "field_wrapper" which	should be the name of a
	       template	to act as a wrapper for	each individual	field
	       template. This can be useful if each field has common HTML and
	       only the	actual field element changes. For example in this

		       field_wrapper =>	'field_wrapper_file'

	       A template called "" will be used. The
	       "field_wrapper" hint overrides the built-in wrapper, so only
	       the actual input	field will be available	and you	will need to
	       provide any enclosing elements or labels.  Note also that it
	       uses the	standard Template "WRAPPER" mechanism.	Thus the field
	       wrapper template	will be	rendered, and the actual input
	       elements	will be	available as "[% content %]" within your
	       wrapper template. So your wrapper template might	end up looking

		   <tr class="form-row">
		     <td>[% field.display_name %]</td>
		     <td>[% content %]</td>

	       For more	information on render_hints, see

	       Note that 'wrap_fields_with' has	been deprecated	and will be
	       removed in a future release.

	       An array	ref containing the status messages to be displayed on
	       the form.

	       An array	ref containing the error messages to be	displayed on
	       the form.

	       Non-field related template names	are prefixed with this value.
	       The three templates used	for each form are:  "start",
	       "messages", and "end", The default value	for
	       "form_template_prefix" is 'form', so by default the form
	       templates used are: "," ","	and

       "subform_renderers" has
	       This contains the references to subform renderers.  Subform
	       rendering is experimental and is	still subject to changes.
	       It's probably best to leave this	attribute alone	for now.

       "form"  A reference to the form object that is being rendered.

	       The template toolkit object to be used to process the
	       templates.  This	is normally set	up prior to rendering and
	       should only be changed if you know what you are doing.  In
	       other words, unless you've read the source, it's	a good idea to
	       leave this alone.

	       An array	ref containing the order to seek for overriding
	       templates for all elements of form rendering. By	default, a
	       subdirectory named after	the "$form->name" is searched first,
	       then the	root template directory	is searched.

	       Adds $message to	the status messages to be displayed.

       "add_error_message($fieldname, $message)"
	       Adds the	error message provided in $message to the list of
	       error messages to be displayed. The error message is associated
	       with the	$fieldname given.

	       Inspects	$validator_result and adds any messages	found to the
	       list of errors to be displayed on the form.

       "start($action, $method)"
	       This renders the	start of the form and sets it to be submitted
	       to the url provided in $action.	$action	is placed directly in
	       to the "action" attribute of the	"form" element.	 Returns the
	       rendered	HTML as	a string.

	       This renders the	messages portion of the	form.  Often (and by
	       default)	this is	displayed before the form fields. Returns the
	       rendered	messages html as a string.

       "render_field($fieldname, $render_hints)"
	       Renders the field matching $fieldname and returns the rendered
	       HTML for	the field.  If the $render_hints hashref is provided,
	       it will be merged into any previously set render	hints for the
	       field.  When a key conflict occurs the passed $render_hints
	       will override any existing configuration.

	       A shortcut routine that renders all the fields in the form.
	       Returns all of the fields rendered as a single string.

       "end" sub
	       Renders the end of the form. Returns the	rendered html as a

	       Returns an array	containing the fieldnames in the form (in
	       their render order)

       "complete($action, $method, $manual_hints)"
	       Renders the entire form and returns the rendered	results.
	       Calling "<$form-"complete($action, $method) >> routine is
	       functionally equivalent to calling:

		$form->start($action, $method) . $form->messages() . $form->fields() . $form->end();

       display_name_delegate: ($caller,	$display_name, $field_or_form_object)
	   The "display_name_delegate" provides	a hook to allow	for
	   localization	of form	and field names.  It is	passed the field or
	   form	name as	well as	the field or form object and is	expected to
	   return the translated name.	It is important	to return a value.  If
	   you are unable to translate the name, returning the passed name
	   unchanged is	encouraged.

       Jay Kuri	- <>

       Ionzero LLC. <>


       Copyright 2009 by Jay Kuri <>

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

perl v5.32.0		       Form::Sensible::Renderer::HTML::RenderedForm(3)


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

home | help