[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