[html-formfu] Validation callback
Dermot
paikkos at googlemail.com
Fri Jan 23 15:53:14 GMT 2009
Hi,
I am trying to validate an item in a Select field. The field is
populated with the first entry as a [0, 'Select a User'] option. I
want to ensure that the user has not forgotten to make a selection
from this Select field and that the Selection is valid. However I am
struggling to get a validation::callback in config to work.
The field is initially populated like this:
my @UsersObjs = $c->model('DB::Users')->all()
my @users;
push(@agents, [ 0,'Select a User']);
foreach (sort {$a->name cmp $b->name} @UsersObjs) {
push(@agents, [$_->user_id, $_->name]);
}
my $select = $form->get_element({ type => 'Select'});
$select->options(\@users);
This is how my config file looks at the moment:
- type: Select
name: agent
label: For Agent
attributes:
title: You must select at least one user
validators:
- type: Callback
callback: "MyApp::Controller::Submissions::user_validator"
- type: Submit
name: submit
value: Add
And this is the package that contains the validator.
package MyApp::Controller::Submissions;
use strict;
use warnings;
use parent 'Catalyst::Controller::HTML::FormFu'
sub user_validator : Local {
my ( $val, $params) = @_;
print STDERR "In user validator with $val and $params\n";
return 1 if $val != 0;
return;
}
1;
My messages to STDERR are not appearing so the callback cannot be
getting as far a MyApp::Controller::Submission. I have tried using
'main::user_validator' but that doesn't make the link either.
Can anyone tell me what I am missing please?
TIA,
Dp.
More information about the HTML-FormFu
mailing list