|
NAMEHTML::FormHandler::Manual::RenderingCookbook - rendering recipesVERSIONversion 0.40068SYNOPSISCollection of rendering recipesNAMEHTML::FormHandler::Manual::Rendering::CookbookRecipesCustom renderer, custom attributesYou want to be able to specify the attributes that are rendered in the 'td' tag of the table renderer...First make your own copy of 'HTML::FormHandler::Widget::Wrapper::Table, in your own name space, and specify that name space in the 'widget_name_space' for the form. Change this line in the Table wrapper: $output .= '<td>' . $self->do_render_label($result) . '</td>'; to this: my $td_attr = process_attrs($self->get_tag('td_attr') || {} ); $output .= "<td$td_attr>" . $self->do_render_label($result) . '</td>'; Now you can specify the attributes for the 'td' tag on a field: has_field 'foo' => ( tags => { td_attr => { class => ['emph', 'label'] } } ); Render a collection of checkboxes like a checkbox groupAdd a 'required' class to labelsCreate a custom widget wrapper:package MyApp::Form::Widget::Wrapper::CustomLabel; use Moose::Role; with 'HTML::FormHandler::Widget::Wrapper::Simple'; sub render_label { my ($self) = @_; return '<label class="label' . ($self->required ? ' required' : '') . '" for="' . $self->id . '">' . $self->html_filter($self->loc_label) . ': </label>'; } Or enable html5 output which adds a 'required' attribute. Or use the 'html_attributes' callback: <in a form> sub html_attributes { my ( $self, $field, $type, $attr ) = @_; push @{$attr->{class}}, 'required' if ( $type eq 'label' && $field->required ); } AUTHORFormHandler Contributors - see HTML::FormHandlerCOPYRIGHT AND LICENSEThis 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.
Visit the GSP FreeBSD Man Page Interface. |