4
use HTML::FormHandler::Test;
6
# this renders repeatable instances with a fieldset wrapper
9
use HTML::FormHandler::Moose;
10
extends 'HTML::FormHandler';
12
has '+name' => ( default => 'test_form' );
13
has_field 'records' => ( type => 'Repeatable', num_when_empty => 2,
14
init_contains => { tags => { wrapper_tag => 'fieldset' } } );
15
has_field 'records.one';
16
has_field 'records.two';
19
my $form = Test::Form->new;
20
$form->process( params => {} );
21
my $rendered = $form->render;
23
'<form id="test_form" method="post">
24
<div class="form_messages">
26
<fieldset class="hfh-repinst">
28
<label for="records.0.one">One</label>
29
<input type="text" name="records.0.one" id="records.0.one" value="" />
32
<label for="records.0.two">Two</label>
33
<input type="text" name="records.0.two" id="records.0.two" value="" />
36
<fieldset class="hfh-repinst">
38
<label for="records.1.one">One</label>
39
<input type="text" name="records.1.one" id="records.1.one" value="" />
42
<label for="records.1.two">Two</label>
43
<input type="text" name="records.1.two" id="records.1.two" value="" />
47
is_html( $rendered, $expected, 'rendered repeatable instances with fieldset' );
49
# tests setting repeatable instance wrapper to fieldset with update_subfields
52
use HTML::FormHandler::Moose;
53
extends 'HTML::FormHandler';
55
has '+name' => ( default => 'test_form' );
56
sub build_update_subfields { { by_flag => {
57
repeatable => { init_contains => { tags => { wrapper_tag => 'fieldset' }}}}}}
58
has_field 'records' => ( type => 'Repeatable', num_when_empty => 2 );
59
has_field 'records.one';
60
has_field 'records.two';
63
$form = Test::Form2->new;
65
$rendered = $form->render;
67
'<form id="test_form" method="post">
68
<div class="form_messages">
70
<fieldset class="hfh-repinst">
72
<label for="records.0.one">One</label>
73
<input type="text" name="records.0.one" id="records.0.one" value="" />
76
<label for="records.0.two">Two</label>
77
<input type="text" name="records.0.two" id="records.0.two" value="" />
80
<fieldset class="hfh-repinst">
82
<label for="records.1.one">One</label>
83
<input type="text" name="records.1.one" id="records.1.one" value="" />
86
<label for="records.1.two">Two</label>
87
<input type="text" name="records.1.two" id="records.1.two" value="" />
91
is_html( $rendered, $expected, 'setting wrapper_tag to fieldset using by_flag works' );