BingoX
view release on metacpan or search on metacpan
lib/BingoX/Chromium.pm view on Meta::CPAN
return $q->scrolling_list(
-NAME => $qfieldname,
-OVERRIDE => $qoptions->{'-OVERRIDE'} || 1,
-SIZE => $qoptions->{'-SIZE'} || 6,
-MULTIPLE => $qoptions->{'-MULTIPLE'} || 'true',
-VALUES => [ keys %{$hashref} ],
-LABELS => $hashref,
-DEFAULT => ($q->param( $qfieldname )
? [ $q->param( $qfieldname ) ]
: (($self->displaymode eq 'modify')
? [
map {
$_->cpkey()
} @$selected
]
: ($qoptions->{'-DEFAULT'} || [ ])))
) . "\n";
}
} # END sub HTML_scrolling
=item C<HTML_checkbox> ( $fieldname [, $qoptions ] )
Object Method:
Generic form field method called by AUTOLOAD.
Gets the default field params based on the fieldname and returns the value
in a checkbox field or in viewable format if the displaymode is 'view'.
Note: Not used yet because its not easy to populate the
vaules & labels fields. USually always overloaded in the subclasses.
=cut
sub HTML_checkbox {
my $self = shift;
return undef unless ref($self);
my $fieldname = shift;
my $qoptions = shift || $self->fieldhtmloptions( $fieldname );
my $q = $self->cgi;
my $qfieldname = $self->qfieldname( $fieldname );
($self->displaymode eq 'view')
? $self->db_obj->$fieldname()
: $q->checkbox(
-NAME => $qfieldname,
-CHECKED => $self->displaymode eq 'modify'
? $self->db_obj->$fieldname()
: $qoptions->{'-CHECKED'},
-VALUE => $qoptions->{'-VALUE'} || '1',
-LABEL => $qoptions->{'-LABEL'} || ''
);
} # END sub HTML_checkbox
=item C<HTML_file> ( $fieldname [, $qoptions ] )
Object Method:
Generic form field method called by AUTOLOAD.
Gets the default field params based on the fieldname and returns the value
in a form file upload field or in viewable format if the displaymode is 'view'.
=cut
sub HTML_file {
my $self = shift;
return undef unless ref($self);
my $fieldname = shift;
my $qoptions = shift || $self->fieldhtmloptions( $fieldname );
my $q = $self->cgi;
my $qfieldname = $self->qfieldname( $fieldname );
($self->displaymode eq 'view')
? $self->db_obj->$fieldname()
: $q->filefield(
-NAME => $qfieldname,
-SIZE => $qoptions->{'-SIZE'} || 40,
-MAXLENGTH => $qoptions->{'-MAXLENGTH'} || 200,
-OVERRIDE => 1,
-DEFAULT => '' # browsers null defaults in upload fields anyway
);
} #END sub HTML_file
=back
=head2 SANITY METHODS
These methods can be overridden at any level to provide customized sanity
checking. These methods always return an error message on failure, and an
empty string on success.
=over 4
=item C<sane_regex> ( $data, $regex [, $error ] )
If C<$data> matches the regular expression in C<$regex>, returns an empty
string. Otherwise, returns C<$error> or a default error message.
=cut
sub sane_regex {
my $self = shift;
my $data = shift;
my $regex = shift;
my $error = shift || 'Not correctly formatted.';
warn("sane_regex('$data', '$regex', '$error')\n") if $debug > 2;
return $error unless $data =~ /$regex/;
return "";
} #END sub sane_regex
=item C<sane_maxlength> ( $data, $length )
Makes sure that C<$data> is no more than C<$length> characters long. Returns
an error message on failure, an empty string on success.
=cut
sub sane_maxlength {
my $self = shift;
my $data = shift;
my $length = shift;
warn("sane_maxlength('$data', $length)\n") if $debug > 2;
return "Exceeds $length characters in length." unless (length($data) <= $length);
return "";
} #END sub sane_maxlength
=item C<sane_minlength> ( $data, $length )
Makes sure that C<$data> is at least C<$length> characters long. Returns an
error message on failure, an empty string on success.
=cut
sub sane_minlength {
my $self = shift;
my $data = shift;
my $length = shift;
( run in 1.414 second using v1.01-cache-2.11-cpan-b16cb0d3907 )