Perl Fomfu:HTML::FormFu::Constraint::Callback
我想检查“开始”日期字段是否与“结束”日期字段不同。所以我有这个文件: config.yml: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:
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表单字段;))