[html-formfu] setting default values

Moritz Onken onken at houseofdesign.de
Thu Oct 15 08:42:40 GMT 2009


 From a first glance:

$c->stash->{object} is not a formfu object but a DBIC row.
You might want to try $c->stash->{form}

cheers


Am 14.10.2009 um 21:42 schrieb Ascii King:

> I am unable to set the default value of a field on my form. I am  
> using the following line:
>
>   $c->stash->{object}->model->default_values( { name => 'tbz' } );
>
> or I can break it down to this:
>
>   my $form = $c->stash->{object};
>   $form->model->default_values( { name => 'tbz' } );
>
> But the 'name' field comes up empty  when the page loads or the  
> following error:
>
> |"Can't locate object method "model" via package  
> "NPC::Model::ModelDB::Character"
> |
>
> I know this is easy and I have researched it. Ijust can't figure out  
> what I am doing wrong? Here is my full sub.
>
>
> sub new_character : Local FormConfig('character/new_character.yml') {
> my ($self, $c) = @_;
>
> # load the new record object into the stash
> $c->stash->{object} = $c->model('ModelDB::Character')->new_result({});
>
> # Check permissions
> $c->detach('/error_noperms')
>   unless $c->stash->{object}->create_allowed_by($c->user->get_object);
>
> # Clicked the submit button and the form passed error checking
> if ($c->stash->{form}->submitted_and_valid) {
>
>   # Write the record to the resultset
>   $c->stash->{form}->model->update($c->stash->{object});
>
>   # Update the status message
>   $c->flash->{status_msg} = 'Record created';
>
>   # Redirect to the list_character page
>   $c->response->redirect($c->uri_for('list_character'));
>
>   # Escape this subroutine
>   $c->detach;
>
> # First load or form is reloaded due to failing error checking
> } else {
>
>   $c->stash->{object}->model->default_values( { name => 'tbz' } );
>
>   # Re-evaluate the form
>   $c->stash->{form}->process();
>
> }
>
> # Run the code necessary to rename the repeatable elements to be  
> compatible with wforms.js
> NPC::Controller::WForm::handle_repeat($c->stash->{form}, $c);
>
> # Necessary to handle the hints that work work with wforms.js
> NPC::Controller::WForm::handle_hints($c->stash->{form}, $c);
>
> # Set the logo
>   $c->stash->{given_logo} = '/static/images/Tolkien Folder.png';
>
> # Set the title
> $c->stash->{given_title} = 'New Character';
>
> # Set the page template that is used
> $c->stash->{template} = 'standard/wform_form.tt2';
>
> }
>
>
> _______________________________________________
> HTML-FormFu mailing list
> HTML-FormFu at lists.scsys.co.uk
> http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu




More information about the HTML-FormFu mailing list