Changeset 25295
- Timestamp:
- 11/29/08 02:03:28 (4 years ago)
- Location:
- lang/perl/HTML-AutoForm/trunk
- Files:
-
- 3 added
- 6 modified
-
Changes (added)
-
META.yml (modified) (1 diff)
-
Makefile.PL (modified) (1 diff)
-
README (added)
-
lib/HTML/AutoForm.pm (modified) (2 diffs)
-
lib/HTML/AutoForm/Field/AnyText.pm (modified) (1 diff)
-
lib/HTML/AutoForm/Field/Select.pm (modified) (1 diff)
-
t/00-base.t (modified) (5 diffs)
-
t/pod-coverage.t (added)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/HTML-AutoForm/trunk/META.yml
r25263 r25295 13 13 - inc 14 14 - t 15 version: undef 15 requires: 16 Class::Accessor::Fast: 0 17 Test::Pod::Coverage: 0 18 version: 0.01 -
lang/perl/HTML-AutoForm/trunk/Makefile.PL
r25263 r25295 5 5 all_from('lib/HTML/AutoForm.pm'); 6 6 7 requires 'Class::Accessor::Fast'; 8 requires 'Test::Pod::Coverage'; 9 7 10 auto_install; 8 11 WriteAll; -
lang/perl/HTML-AutoForm/trunk/lib/HTML/AutoForm.pm
r25263 r25295 18 18 use HTML::AutoForm::Field::Text; 19 19 use HTML::AutoForm::Field::Textarea; 20 21 our $VERSION = '0.01'; 20 22 21 23 our %Defaults; … … 181 183 182 184 1; 185 __END__ 186 187 =head1 NAME 188 189 HTML::AutoForm - a standalone HTML form validator and renderer 190 191 =head1 SYNOPSIS 192 193 # build form object 194 my $form = HTML::AutoForm->new( 195 fields => [ 196 username => { 197 type => 'text', 198 required => 1, 199 min_length => 6, 200 max_length => 8, 201 regexp => qr/^[0-9a-z_]+$/, 202 }, 203 password => { 204 type => 'password', 205 required => 1, 206 min_length => 8, 207 regexp => qr/^[0-9A-Za-z_-]+$/, 208 }, 209 password2 => { 210 type => 'password', 211 label => 'Password (repeat)', 212 required => 1, 213 validate => sub { 214 my $q = shift; 215 $q->param('password') eq $q->param('password2'); 216 }, 217 }, 218 sex => { 219 type => 'radio', 220 options => [ 221 male => {}, 222 female => {}, 223 }, 224 required => undef, 225 }, 226 country => { 227 type => 'select', 228 options => [ qw/Australia Japan .../, ], 229 required => 1, 230 }, 231 # add more 232 ], 233 ); 234 -
lang/perl/HTML-AutoForm/trunk/lib/HTML/AutoForm/Field/AnyText.pm
r25263 r25295 39 39 'input', 40 40 { 41 class => 'autoform_field_' . $self->type, 41 ($self->type ne 'hidden' ? ( 42 class => 'autoform_field_' . $self->type, 43 ) : ()), 42 44 %$self, 43 45 }, -
lang/perl/HTML-AutoForm/trunk/lib/HTML/AutoForm/Field/Select.pm
r25263 r25295 51 51 {}, 52 52 { options => 1, }, 53 join('', map { $ {$_->render($values)}} @{$self->{options}}),53 join('', map { $_->render($values) } @{$self->{options}}), 54 54 ); 55 55 } -
lang/perl/HTML-AutoForm/trunk/t/00-base.t
r25263 r25295 109 109 ); 110 110 like($field->render, 111 qr{<input id=".*?" name="sex" type="radio" value="male" /><label for=".*?">男性</label>\s*<inputid=".*?" name="sex" type="radio" value="female" /><label for=".*?">女性</label>},111 qr{<input class="autoform_field_radio" id=".*?" name="sex" type="radio" value="male" /><label for=".*?">男性</label>\s*<input class="autoform_field_radio" id=".*?" name="sex" type="radio" value="female" /><label for=".*?">女性</label>}, 112 112 'radio render 2', 113 113 ); 114 114 like($field->render([ 'male' ]), 115 qr{<input checked="1" id=".*?" name="sex" type="radio" value="male" /><label for=".*?">男性</label>\s*<inputid=".*?" name="sex" type="radio" value="female" /><label for=".*?">女性</label>},115 qr{<input checked="1" class="autoform_field_radio" id=".*?" name="sex" type="radio" value="male" /><label for=".*?">男性</label>\s*<input class="autoform_field_radio" id=".*?" name="sex" type="radio" value="female" /><label for=".*?">女性</label>}, 116 116 'radio render 3', 117 117 ); … … 136 136 join( 137 137 '', 138 '<select name="age">',138 '<select class="autoform_field_select" name="age">', 139 139 '<option selected="1" value="">選択してください</option>', 140 140 '<option value="19">〜19才</option>', … … 151 151 join( 152 152 '', 153 '<select name="age">',153 '<select class="autoform_field_select" name="age">', 154 154 '<option value="">選択してください</option>', 155 155 '<option value="19">〜19才</option>', … … 173 173 like( 174 174 $field->options->[0]->render, 175 qr{<input id=".*?" name="interest" type="checkbox" value="c" /><label for=".*?">C/C\+\+</label>},175 qr{<input class="autoform_field_checkbox" id=".*?" name="interest" type="checkbox" value="c" /><label for=".*?">C/C\+\+</label>}, 176 176 'checkbox render 1', 177 177 ); 178 178 like( 179 179 $field->options->[1]->render, 180 qr{<input checked="1" id=".*?" name="interest" type="checkbox" value="perl" /><label for=".*?">perl</label>},180 qr{<input checked="1" class="autoform_field_checkbox" id=".*?" name="interest" type="checkbox" value="perl" /><label for=".*?">perl</label>}, 181 181 'checkbox render 2', 182 182 ); 183 183 like( 184 184 $field->render, 185 qr{<input id=".*?" name="interest" type="checkbox" value="c" /><label for=".*?">C/C\+\+</label> <input checked="1" id=".*?" name="interest" type="checkbox" value="perl" /><label for=".*?">perl</label> <input id=".*?" name="interest" type="checkbox" value="php" /><label for=".*?">PHP</label> <inputid=".*?" name="interest" type="checkbox" value="ruby" /><label for=".*?">Ruby</label>},185 qr{<input class="autoform_field_checkbox" id=".*?" name="interest" type="checkbox" value="c" /><label for=".*?">C/C\+\+</label> <input checked="1" class="autoform_field_checkbox" id=".*?" name="interest" type="checkbox" value="perl" /><label for=".*?">perl</label> <input class="autoform_field_checkbox" id=".*?" name="interest" type="checkbox" value="php" /><label for=".*?">PHP</label> <input class="autoform_field_checkbox" id=".*?" name="interest" type="checkbox" value="ruby" /><label for=".*?">Ruby</label>}, 186 186 'checkbox render 3', 187 187 ); 188 188 like( 189 189 $field->render([ qw/perl php/ ]), 190 qr{<input id=".*?" name="interest" type="checkbox" value="c" /><label for=".*?">C/C\+\+</label> <input checked="1" id=".*?" name="interest" type="checkbox" value="perl" /><label for=".*?">perl</label> <input checked="1" id=".*?" name="interest" type="checkbox" value="php" /><label for=".*?">PHP</label> <inputid=".*?" name="interest" type="checkbox" value="ruby" /><label for=".*?">Ruby</label>},190 qr{<input class="autoform_field_checkbox" id=".*?" name="interest" type="checkbox" value="c" /><label for=".*?">C/C\+\+</label> <input checked="1" class="autoform_field_checkbox" id=".*?" name="interest" type="checkbox" value="perl" /><label for=".*?">perl</label> <input checked="1" class="autoform_field_checkbox" id=".*?" name="interest" type="checkbox" value="php" /><label for=".*?">PHP</label> <input class="autoform_field_checkbox" id=".*?" name="interest" type="checkbox" value="ruby" /><label for=".*?">Ruby</label>}, 191 191 'checkbox render 4', 192 192 ); … … 199 199 ok(! $field->validate([ 'abcde' ]), 'textarea validate'); 200 200 is($field->render, 201 '<textarea c ols="40" name="comment" rows="10">def"val</textarea>',201 '<textarea class="autoform_field_textarea" cols="40" name="comment" rows="10">def"val</textarea>', 202 202 'textarea render 1', 203 203 ); 204 204 is($field->render([ qw/abcde/ ]), 205 '<textarea c ols="40" name="comment" rows="10">abcde</textarea>',205 '<textarea class="autoform_field_textarea" cols="40" name="comment" rows="10">abcde</textarea>', 206 206 'textarea render 2', 207 207 );
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)