2009/5/6 Matthias Dietrich <p...@rainboxx.de>: > Hi > > I currently playing around with FormFu. I want to display the error > messages at the top of a form like: "The following fields are required: > Field1, Field2". I looked at the docs but there doesn't seem to be a > possibility to let FormFu do that, so I need to grab all the errors, look > what error occured and on which field. After collecting the information, > I'm able to display that combined error message. But I don't see a way to > suppress the error message output near the labels. Is there a way round? > > May be there is a better solution for my issue, I'm pleased to hear any > suggestions! > > I'm using Catalyst with FormFu and Mason, not TT. If it's possible I want > to avoid using TT templates because I'm already using Mason and don't want > to install the complete TT stuff on my live machine.
Hmm, not easy - I'd normally suggest looking at t/examples/ for custom rendering, but the render_field() and render_label() methods require TT. I'd suggest inspecting the field errors to build your error message. Something like this (as a very rough example): my $error_message = ''; for my $field ( @{ $form->get_fields } ) { my @errors = @{ $field->get_errors({ forced => 1 }); next if !...@errors; $error_message .= sprintf '<p>field %s has errors</p><ul>', ( $field->label || $field->name ); for my $error (@errors) { $error_message .= sprintf '<li>%s</li>', $error->message; } $error_message .= '</ul>'; } To get it displayed at the top of the form: # use _xml() variant as our message contains xhtml tags $form->form_error_message_xml( $error_message ); And clear the errors attached to the fields: $form->clear_errors; And to get the top error message to display now that the form has no errors: $form->force_error_message( 1 ); This /should/ work - but I've never tried anything like it before. Carl _______________________________________________ HTML-FormFu mailing list HTML-FormFu@lists.scsys.co.uk http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu