2009/3/17 Manu Kaul <manu.k...@gmail.com>: > Hi, > I have just started getting into Catalyst for a new project where we have to > communicate with a Model Class written in Perl DBI which is optimized and > uses stored procedures to do most of the work for us. I was reading through > the FormFu documentation on CPAN to understand how I could take advantage of > FormFu's validation features etc and leverage off the existing Perl DBI > Model class. I found no documenation on whether it was possible for FormFu > to talk to a Perl DBI class.... Is this even possible? > I noticed that all the communication to the backend was through Model::DBIC > and Resultsets. If you could provide me with some examples of how I could > use FormFu for validation purposes and then use my existing model class to > do the rest of the work that would be extremely useful. > Thanks in advance and look forward to a reply.
Hi Manu, If you create custom constraints + validators, then can access your Catalyst context, and so access your model. If you're using Catalyst-Controller-HTML-FormFu, it'll automatically copy the Cat context into $form->stash->{context}; As an example of how to use it, here's a (slightly edited) part of the new Validator docs: =head1 BEST PRACTICES Try to avoid using callbacks if possible. Below is a more maintainable and reusable approach, which also keeps the code out of the controller. A normal application's directory would contain: lib/HTML/FormFu/Constraint/MyApp/ lib/HTML/FormFu/Validator/MyApp/ lib/HTML/FormFu/Plugin/MyApp/ etc. Then, the form config file would just need: validator: 'MyApp::SomeValidator' And the class would be something like this: package HTML::FormFu::Validator::MyApp::SomeValidator; use strict; use warnings; use base 'HTML::FormFu::Validator'; sub validate_value { my ( $self, $value, $params ) = @_; my $c = $self->form->stash->{context}; # do something here with $c->model('MyModel'); # return 1 if valid # fail return 0; } 1; Hope this helps, Carl _______________________________________________ HTML-FormFu mailing list HTML-FormFu@lists.scsys.co.uk http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu