use Test::More tests => 6;
use lib 't/lib';


{
   package My::Form;
   use HTML::FormHandler::Moose;
   extends 'HTML::FormHandler';

   # this form specifies the form name
   #sub init_field_name_space { 'BookDB::Form::Field' }
   has '+field_name_space' => ( default => 'BookDB::Form::Field' );

   has_field 'field_one'   => ( type => '+AltText', another_attribute => 'one' );
   has_field 'field_two'   => ( type => '+AltText', another_attribute => 'two' );
   has_field 'field_three' => ( type => '+AltText', another_attribute => 'three' );

}

my $form = My::Form->new; 
ok( $form, 'get form' );

my $params = {
   field_one => 'one two three four',
   field_two => 'one three four',
   field_three => 'one three four',
};

$form->validate( $params );

ok( !$form->validated, 'form validated' );

ok( !$form->field('field_one')->has_errors, 'field one has no error');

is( $form->field('field_two')->has_errors, 1, 'field two has one error');
is( $form->field('field_two')->errors->[0], 
   'Fails AltText validation', 'get error message' );

ok( !$form->field('field_three')->has_errors, 'field three has no error');