Perl Fomfu:HTML::FormFu::Constraint::Callback

Perl Fomfu:HTML::FormFu::Constraint::Callback,perl,perl-module,catalyst,Perl,Perl Module,Catalyst,我想检查“开始”日期字段是否与“结束”日期字段不同。所以我有这个文件: config.yml: type: Text name: to label: To constraints: - type: DateTime parser: strptime: '%Y-%m-%d %H:%M:%S' - type: Callback callback:

我想检查“开始”日期字段是否与“结束”日期字段不同。所以我有这个文件:

config.yml:

type: Text
      name: to
      label: To
      constraints:
          - type: DateTime
            parser:
                strptime: '%Y-%m-%d %H:%M:%S'
          - type: Callback
            callback: "check_date"
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 '+' ;)
my_controller.pm:

 sub check_date {
        my ( $value, $params ) = @_;

        return 1; //juste fel testing
}

sub index : Path :Args(0) :FormConfig('config.yml'){
     ..........

     my $field = $form->get_element({type => 'Text', 'name' => 'to'});
      $field->constraint({
        type => 'Callback',
        callback =>  \&check_date,
    });


    ...........
}

但是它没有检测到“check_date”函数。这是答案:我使用了“validators”而不是“constrant”:我遵循了这个文档

config.yml:

type: Text
      name: to
      label: To
      constraints:
          - type: DateTime
            parser:
                strptime: '%Y-%m-%d %H:%M:%S'
          - type: Callback
            callback: "check_date"
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(我有validate start和end date表单字段;))