[Catalyst] FillInForm fails due to 'type="NOT_BLANK"' in form

Randall Hansen randall at raan.net
Mon Dec 19 05:08:02 CET 2005


i can't get Plugin::FillInForm to work.  i've found why it's failing
but not how to fix it.

before fillinform is called, the page source contains input tags like
this:

    <input value="" name="login" id="login" type="NOT_BLANK" />

the NOT_BLANK property is coming from some part of the app, not from
my template, and it's causing HTML::FillInForm to ignore the input
control (see below for example code to prove this).  my guess is that
the "NOT_BLANK" comes from Plugin::FormValidator::Simple, but i've
followed the examples exactly:

    $c->form(
        firstname   => [qw/ NOT_BLANK ASCII /, [ qw/ LENGTH 1 32 /]],
        lastname    => [qw/ NOT_BLANK ASCII /, [ qw/ LENGTH 1 32 /]],
    );

i've even removed the 'firstname' option from the form entirely, and
i'm still getting "NOT_BLANK" in the output.  i'm totally puzzled.

if it's helpful, i've also included my 'use' and 'config' statements
from the root package.  thanks in advance for any help.

randall

----
this code spits out a control with no value and a "NOT_BLANK" type.
remove the 'type' property and it works as expected.

    #!/usr/bin/perl
    use CGI;
    use HTML::FillInForm;

    my $q = new CGI;
    $q->param( 'firstname', 'joe' );
    print HTML::FillInForm->new->fill(
        fobject     => $q,
        scalarref   => \'<input name="firstname" type="NOT_BLANK" />',
    );

----

use Catalyst qw/
    -Debug
    Authentication::CDBI
    FormValidator::Simple
    FillInForm
    Session::FastMmap
/;

__PACKAGE__->config({
    form_method         => 'post',
    authentication  => {
        name            => 'GoBiodiesel',
        user_class      => 'GoBiodiesel::Model::CDBI::User',
        user_field      => 'login',
        password_field  => 'password',
        password_hash   => '',
    },
    validator => {
        plugins => [ qw/ CDBI::Unique /],
        messages => __PACKAGE__->path_to( qw/ root error_messages.yaml /),
        options => {
           cdbi_base_class => 'GoBiodiesel::Model::CDBI',
        },
    },
    'View::MyView'  => {
        INCLUDE_PATH    => [ __PACKAGE__->path_to( qw/ root templates /)],
        CATALYST_VAR    => 'GB',
        WRAPPER         => 'global/wrapper.tt',
        PRE_PROCESS     => 'global/startup.tt',
        TEMPLATE_EXTENSION  => '.tt',
    },
});
__PACKAGE__->setup;




More information about the Catalyst mailing list