[Cascavel-pm] Ajuda com Catalyst e callback do HTML::FormFu

Jorge Augusto Senger jasenger em gmail.com
Segunda Abril 27 13:21:24 PDT 2009


Nilson, funcionou perfeitamente.

Muito obrigado.

Jorge Augusto Senger
jasenger (at) gmail.com

use Perl;


2009/4/23 Nilson Santos Figueiredo Jr. <acid06 em gmail.com>

> 2009/4/22 Jorge Augusto Senger <jasenger em gmail.com>:
> > No mesmo Controller que processa o formulário (auth.pm) criei um método
> para
> > ser usado pelo callback (verificaLogin).
> > Minha idéia para este método é conectar ao banco e verificar se existe
> > usuário cadastrado com o login informado no formulário. Gostaria de saber
> se
> > é possível este método acessar o objeto de contexto da aplicação para
> > realizar a busca no banco.
> > Pelo que li na documentação do HTML::FormFu, o callback chama uma
> subrotina
> > e não um método, seria esse meu problema?
>
> Eu não sei muito sobre o HTML::FormFu, apesar de já tê-lo utilizá-lo.
> Pra ser sincero, isso nem é um bom conselho, mas eu normalmente me
> sinto "desconfortável" usando essas bibliotecas que auxiliam na
> validação de formulários (mas, de fato, é muito mais fácil manter
> código dos outros que foi escrita utilizando-as, por isso é uma boa
> prática utilizá-las).
>
> Enfim, uma maneira de fazer isso seria, ao invés de especificar a
> callback no arquivo de configuração, adicionar a constraint ao
> formulário depois.
>
> Lá no seu controller, aonde a validação vai ocorrer, faça algo assim:
>
>  sub my_action : Local FormConfig {
>    my ( $self, $c ) = @_;
>    my $form = $c->form;
>    my $field = $form->get_field( { name => 'login' } );
>    $field->constraint( {
>        type => 'Callback',
>        callback => sub {
>            $c->forward( '/auth/verifica_login', [ @_ ] );
>        }
>    });
>    $form->process;
>
>    # seu código continua aqui
>
>  }
>
> Talvez exista uma solução melhor... mas eu sinceramente não sei.
> Apesar de não ter testado, esta solução deve funcionar pro seu caso
> (excluindo algum erro de compilação).
>
> -Nilson Santos F. Jr.
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20090427/7ebfb8a4/attachment.html>


Mais detalhes sobre a lista de discussão Cascavel-pm