This is th answer: i have used "validators" not "constrant": i have follow this doc HTML::FormFu::Manual::Cookbook
config.yml:
type: Text
name: to
label: To
constraints:
- type: DateTime
parser:
strptime: '%Y-%m-%d %H:%M:%S
validators:
- '+folder::Validators::Validator' # don't forget the '+' ;)
Validator.pm (i have validate start and end date form field ;))
package folder::Validators::Validator;
use strict;
use base 'HTML::FormFu::Validator';
use DateTime::Format::HTTP;
sub validate_value {
my ( $self, $value, $params ) = @_;
my $from = DateTime::Format::HTTP->parse_datetime( $params->{'from'});
my $to = DateTime::Format::HTTP->parse_datetime( $value);
if (DateTime->compare( $from, $to ) == -1){
return 1
}
die HTML::FormFu::Exception::Validator->new({
message => 'This field is invalid',
});
}
1;