|
NAMEHTML::Shakan - Form HTML generator/validator SYNOPSIS use HTML::Shakan;
sub form {
my $req = shift;
HTML::Shakan->new(
fields => [ @_ ],
request => $req,
model => 'DataModel',
);
}
sub edit {
my $req = shift;
my $row = $model->get('user' => $req->param('id'));
my $form = form(
$req => (
TextField(name => 'name', label => 'Your name', filter => [qw/WhiteSpace/]),
EmailField(name => 'email', label => 'Your email'),
),
);
if ($req->submitted_and_valid) {
$form->model->update($row);
redirect('edit_thanks');
} else {
$form->model->fill($row);
render(form => $form);
}
}
sub add {
my $req = shift;
my $form = form(
$req => (
TextField(name => 'name', label => 'Your name'),
EmailField(name => 'email', label => 'Your email'),
)
);
if ($req->submitted_and_valid) {
$form->model->insert($model => 'user');
redirect('edit_thanks');
}
render(form => $form);
}
# in your template
<? if ($form->has_error) { ?><div class="error"><?= $form->error_message() ?></div><? } ?>
<form method="post" action="add">
<?= $form->render() ?>
<p><input type="submit" value="add" /></p>
</form>
DESCRIPTIONHTML::Shakan is yet another form generator. THIS IS BETA.API WILL CHANGE. ATTRIBUTES
benchmarkingform generation Rate formfu shakan shakan_declare
formfu 1057/s -- -77% -84%
shakan 4695/s 344% -- -31%
shakan_declare 6757/s 539% 44% --
What's shakanShakan is 左官 in Japanese. If you want to know about shakan, please see <http://ja.wikipedia.org/wiki/%E5%B7%A6%E5%AE%98> 左官 should pronounce 'sakan', formally. but, edokko pronounce 左官 as shakan. METHODS
AUTHORTokuhiro Matsuno <tokuhirom @ gmail.com> SEE ALSOHTML::FormFu ToscaWidgets LICENSEThis library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
|