Nilson, funcionou perfeitamente.<br><br>Muito obrigado.<br><br clear="all">Jorge Augusto Senger<br>jasenger (at) <a href="http://gmail.com">gmail.com</a><br><br>use Perl;<br>
<br><br><div class="gmail_quote">2009/4/23 Nilson Santos Figueiredo Jr. <span dir="ltr">&lt;<a href="mailto:acid06@gmail.com">acid06@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2009/4/22 Jorge Augusto Senger &lt;<a href="mailto:jasenger@gmail.com">jasenger@gmail.com</a>&gt;:<br>
<div class="im">&gt; No mesmo Controller que processa o formulário (<a href="http://auth.pm" target="_blank">auth.pm</a>) criei um método para<br>
&gt; ser usado pelo callback (verificaLogin).<br>
&gt; Minha idéia para este método é conectar ao banco e verificar se existe<br>
&gt; usuário cadastrado com o login informado no formulário. Gostaria de saber se<br>
&gt; é possível este método acessar o objeto de contexto da aplicação para<br>
&gt; realizar a busca no banco.<br>
&gt; Pelo que li na documentação do HTML::FormFu, o callback chama uma subrotina<br>
&gt; e não um método, seria esse meu problema?<br>
<br>
</div>Eu não sei muito sobre o HTML::FormFu, apesar de já tê-lo utilizá-lo.<br>
Pra ser sincero, isso nem é um bom conselho, mas eu normalmente me<br>
sinto &quot;desconfortável&quot; usando essas bibliotecas que auxiliam na<br>
validação de formulários (mas, de fato, é muito mais fácil manter<br>
código dos outros que foi escrita utilizando-as, por isso é uma boa<br>
prática utilizá-las).<br>
<br>
Enfim, uma maneira de fazer isso seria, ao invés de especificar a<br>
callback no arquivo de configuração, adicionar a constraint ao<br>
formulário depois.<br>
<br>
Lá no seu controller, aonde a validação vai ocorrer, faça algo assim:<br>
<br>
  sub my_action : Local FormConfig {<br>
    my ( $self, $c ) = @_;<br>
    my $form = $c-&gt;form;<br>
    my $field = $form-&gt;get_field( { name =&gt; &#39;login&#39; } );<br>
    $field-&gt;constraint( {<br>
        type =&gt; &#39;Callback&#39;,<br>
        callback =&gt; sub {<br>
            $c-&gt;forward( &#39;/auth/verifica_login&#39;, [ @_ ] );<br>
        }<br>
    });<br>
    $form-&gt;process;<br>
<br>
    # seu código continua aqui<br>
<br>
  }<br>
<br>
Talvez exista uma solução melhor... mas eu sinceramente não sei.<br>
Apesar de não ter testado, esta solução deve funcionar pro seu caso<br>
(excluindo algum erro de compilação).<br>
<br>
-Nilson Santos F. Jr.<br>
_______________________________________________<br>
Cascavel-pm mailing list<br>
<a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
</blockquote></div><br>