NAME
HTML::FormHandler::Render::Simple - Simple rendering routine
SYNOPSIS
This is a Moose role that is an example of a very simple rendering routine for HTML::FormHandler. It has almost no features, but can be used as an example for producing something more complex. The idea is that you will produce your own custom rendering roles.
In your Form class:
package MyApp::Form::Silly;
extends 'HTML::FormHandler::Model::DBIC';
with 'HTML::FormHandler::Render::Simple';
In a template:
[% form.render %]
or for individual fields:
[% form.field_render( 'title' ) %]
DESCRIPTION
This role provides HTML output routines for the 'widget' types defined in the provided FormHandler fields. Each 'widget' name has a 'widget_$name' method here.
These widget routines output strings with HTML suitable for displaying form fields.
The widget for a particular field can be defined in the form. You can create additional widget routines in your form for custom widgets.
render
To render all the fields in a form in sorted order (using 'sorted_fields' method).
render_field
Render a field by a field object
render_text
Output an HTML string for a text widget
The equivalent of:
<label class="label" for="[% f.name %]">[% f.label %]</label>
<input type="text" name="[% f.name %]" id="[% f.name %]" value="[% f.fif %]">
render_select
Output an HTML string for a 'select' widget
The equivalent of:
<label class="label" for="[% f.name %]">[% f.label %]</label>
<select name="[% f.name %]">
[% FOR option IN f.options %]
<option value="[% option.value %]"
[% IF option.value == f.fif %]
selected="selected"
[% END %]>
[% option.label %]</option>
[% END %]
</select>
render_multiple
Output an HTML string for a 'multiple' widget
The equivalent of:
<label class="label" for="[% f.name %]">[% f.label || f.name %]</label>
<select name="[% f.name %]" multiple="multiple" size="5">
[% FOR option IN f.options %]
<option value="[% option.value %]"
[% FOREACH optval IN f.value %]
[% IF optval == option.value %]
selected="selected"
[% END %]
[% END %]>
[% option.label %]</option>
[% END %]
</select>
render_checkbox
Output an HTML string for a 'checkbox' widget
The equivalent of:
<input type="checkbox" name="[% f.name %]" value="1"
[% IF f.fif == 1 %]checked="checked"[% END %] />
render_radio
Output an HTML string for a 'radio' widget
AUTHORS
Gerda Shank, gshank@cpan.org
COPYRIGHT
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.