The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Catalyst::Controller::MetaForm - MetaForm sugar for Catalyst

SYNOPSIS

  package MyApp::Form::Login;

  use Moose;

  use Class::MetaForm;

  has username => (
    is       => 'ro',
    isa      => 'Str',
    required => 1,
  );

  has password => (
    is       => 'ro',
    isa      => 'Str',
    required => 1,
  );

  package MyApp::Controller::Auth;

  use base qw/Catalyst::Controller::MetaForm/;

  use strict;
  use warnings;

  # This will require the form MyApp::Form::Login to be successfully
  # validated before the code gets to execute.

  sub login : Local AssertForm('Login') Args(0) {
    my ($self,$c) = @_;

    # We will always have $c->stash->{ form } here.
  }

  # In this case, the form MyApp::Form::Something doesn't have to be
  # valid in order for the action to execute.

  sub somethingelse : Local Form('Login') Args(0) {
    my ($self,$c) = @_;

    # $c->stash->{ form } will be undefined if it wasn't successfully
    # validated. The error can be found in $c->stash->{ form_error }
  }

  1;

DESCRIPTION

See Class::MetaForm for an actual description.

MORE SUGARING?

Add the following snippet to your MyApp.pm for quick access to your stashed form.

  sub form { shift->stash->{ form } }

SEE ALSO

Catalyst
Class::MetaForm

BUGS

Most software has bugs. This module probably isn't an exception. If you find a bug please either email me, or add the bug to cpan-RT.

AUTHOR

Anders Nor Berle <berle@cpan.org>

COPYRIGHT AND LICENSE

Copyright 2009 by Modula AS

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.