1{
2    package BookDB::Form::BookOwner;
3
4    use HTML::FormHandler::Moose;
5    extends 'HTML::FormHandler::Field::Compound';
6
7    has_field 'user_name';
8    has_field 'fav_cat' => ( label => 'Favorite Book Category' );
9    has_field 'fav_book' => ( label => 'Favorite Book' );
10    has_field 'occupation';
11    has_field 'country' => ( type => 'Select' );
12
13    sub validate_occupation
14    {
15       my ( $self, $field ) = @_;
16       if ( $field->value eq 'layabout' )
17       {
18          $field->add_error('No layabouts allowed');
19       }
20    }
21}
22
23{
24    package BookDB::Form::BookWithOwner;
25
26    use HTML::FormHandler::Moose;
27    extends 'HTML::FormHandler::Model::DBIC';
28
29    has '+item_class' => ( default => 'Author' );
30
31    has_field 'title' => ( type => 'Text', required => 1 );
32    has_field 'publisher' => ( type => 'Text', required => 1 );
33    has_field 'owner' => ( type => '+BookDB::Form::BookOwner' );
34}
35
36
37
381;
39