Catalyst-Model-Data-MuForm

 view release on metacpan or  search on metacpan

t/basic.t  view on Meta::CPAN

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 )