---
name: "HTML::FormHandler::Render::Simple"
section: "3pm"
platform: "linux"
package: "libhtml-formhandler-perl"
version: "0.40068-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/HTML::FormHandler::Render::Simple"
---

# HTML::FormHandler::Render::Simple(3pm)

simple rendering role

## NAME

HTML::FormHandler::Render::Simple - simple rendering role

## VERSION

version 0.40068

## SYNOPSIS

This is a Moose role that is an example of a simple rendering routine for HTML::FormHandler. It's here as an example of how to write a custom renderer in one package, if you prefer that to using the widgets. It won't always be updated with improvements by default, because it was becoming a lot of work to update the rendering in multiple places.

For a 'MyApp::Form::Renderer' which you've created and modified, in your Form class:

```
   package MyApp::Form::Silly;
   use Moose;
   extends 'HTML::FormHandler::Model::DBIC';
   with 'MyApp::Form::Renderers';
```

In a template:

```
   [% form.render %]
```

The widgets are rendered with `"$field->render"`; rendering routines from a class like this use `"$form->render_field('field_name')"` to render individual fields:

```
   [% form.render_field( '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.

The fill-in-form values ('fif') are cleaned with the 'render\_filter' method of the base field class. You can change the filter to suit your own needs: see HTML::FormHandler::Manual::Rendering

### render

To render all the fields in a form in sorted order (using 'sorted\_fields' method).

### render\_start, render\_end

These use the methods in HTML::FormHandler::Widget::Form::Simple now. If you want to customize them, copy them to your own package.

Will render the beginning and ending \<form\> tags and fieldsets. Allows for easy splitting up of the form if you want to hand-render some of the fields.

```
   [% form.render_start %]
   [% form.render_field('title') %]
   <insert specially rendered field>
   [% form.render_field('some_field') %]
   [% form.render_end %]
```

### render\_field

Render a field passing in a field object or a field name

```
   $form->render_field( $field )
   $form->render_field( 'title' )
```

### render\_text

Output an HTML string for a text widget

### render\_password

Output an HTML string for a password widget

### render\_hidden

Output an HTML string for a hidden input widget

### render\_select

Output an HTML string for a 'select' widget, single or multiple

### render\_checkbox

Output an HTML string for a 'checkbox' widget

### render\_radio\_group

Output an HTML string for a 'radio\_group' selection widget. This widget should be for a field that inherits from 'Select', since it requires the existence of an 'options' array.

### render\_textarea

Output an HTML string for a textarea widget

### render\_compound

Renders field with 'compound' widget

### render\_submit

Renders field with 'submit' widget

## AUTHOR

FormHandler Contributors - see HTML::FormHandler

## COPYRIGHT AND LICENSE

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.
