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