Catalyst-Model-Data-MuForm
view release on metacpan or search on metacpan
use Test::Most;
use HTTP::Request::Common;
use Scalar::Util qw/refaddr/;
BEGIN {
package MyApp::Form::Email;
$INC{'MyApp/Form/Email.pm'} = __FILE__;
use Moo;
use Data::MuForm::Meta;
extends 'Data::MuForm';
has aaa => (is=>'ro', required=>1);
has bbb => (is=>'ro', required=>1);
has_field 'email' => (
type=>'Email',
size => 96,
required => 1);
package MyApp::Form::User;
$INC{'MyApp/Form/User.pm'} = __FILE__;
use Moo;
use Data::MuForm::Meta;
extends 'Data::MuForm';
has_field 'name' => (
type=>'Text',
size => 96,
required => 1);
}
{
package MyApp::Model::Form;
use Moo;
extends 'Catalyst::Model::Data::MuForm';
$INC{'MyApp/Model/Form.pm'} = __FILE__;
package MyApp::Controller::Root;
use base 'Catalyst::Controller';
sub form :Local {
my ($self, $c) = @_;
$c->res->body('form')
}
sub test_process :POST Local {
my ($self, $c) = @_;
my $form = $c->model('Form::Email',bbb=>2000);
Test::Most::ok $form->validated;
$c->res->body($form->render)
}
$INC{'MyApp/Controller/Root.pm'} = __FILE__;
package MyApp::Controller::Example;
use base 'Catalyst::Controller';
( run in 0.459 second using v1.01-cache-2.11-cpan-39bf76dae61 )