Rose-HTML-Objects

 view release on metacpan or  search on metacpan

t/form-repeatable.t  view on Meta::CPAN


  package MyFamilyForm;

  our @ISA = qw(Rose::HTML::Form);

  sub build_form
  {
    my ($self) = shift;

    $self->add_forms
    (
      parents => 
      {
        form       => MyPersonForm2->new,
        repeatable => 1,
      },

      children => 
      {
        form        => MyPersonForm2->new,
        repeatable  => 1,
        empty_is_ok => 1,
      },
    );

    $self->add_fields
    (
      name => 
      {
        type     => 'text',
        label    => 'Family Name',
        required => 1,
      },

      add_child_button => 
      {
        type  => 'submit',
        value => 'Add Child',
        id    => 'add-child-button',
      },

      add_parent_button => 
      {
        type  => 'submit',
        value => 'Add Parent',
        id    => 'add-parent-button',
      },

      create_button => 
      {
        type  => 'submit',
        value => 'Create Family',
      },
    );
  }

#   sub validate
#   {
#     my ($self) = shift;
# 
#     my $ok = $self->SUPER::validate(cascade => 0);
#     return $ok unless ($ok);
# 
#     foreach my $parentform ( $self->form('parents')->forms )
#     {
#       next if ( $parentform->is_empty );
# 
#       unless ( $parentform->validate )
#       {
#         $self->add_error( 'Invalid parent: ' . $parentform->error );
#         $ok = 0;
#       }
#     }
# 
#     foreach my $childform ( $self->form('children')->forms )
#     {
#       next if ( $childform->is_empty );
# 
#       unless ( $childform->validate )
#       {
#         $self->add_error( 'Invalid child: ' . $childform->error );
#         $ok = 0;
#       }
#     }
# 
#     return $ok;
#   }
}



( run in 0.895 second using v1.01-cache-2.11-cpan-13bb782fe5a )