Skip to content

Commit 0cae37c

Browse files
committed
fix bug in TextCSV field caused by setting error for multiple values in Text field
1 parent d7ce62b commit 0cae37c

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

lib/HTML/FormHandler/Field/Text.pm

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,15 @@ sub get_class_messages {
3434
return $messages;
3535
}
3636

37+
sub _inner_validate_field {
38+
my $self = shift;
39+
# Check for multiple values
40+
if ( ref $self->value eq 'ARRAY' ) {
41+
return $self->add_error(
42+
$self->get_message('multiple_values_disallowed'),
43+
);
44+
}
45+
}
3746

3847
sub validate {
3948
my $field = shift;
@@ -54,13 +63,6 @@ sub validate {
5463
$minlength, length $value, $field->loc_label )
5564
if length $value < $minlength;
5665
}
57-
58-
# Check for multiple values
59-
if ( ref $value eq 'ARRAY' ) {
60-
return $field->add_error(
61-
$field->get_message('multiple_values_disallowed'),
62-
);
63-
}
6466
return 1;
6567
}
6668

t/fields/textcsv.t

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ ok( $rendered, 'rendering worked' );
2727

2828
my $params = { foo => '', bar => '1,2' };
2929
$form->process( $params );
30+
ok( $form->validated, 'validated ok' );
3031
$fif = $form->fif;
3132
is_deeply( $fif, $params, 'fif ok' );
3233
my $value = $form->value;

0 commit comments

Comments
 (0)