[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