Obrigado pela ajuda Almeida, mas não é isso.
Mas eu vi que vc fez uma tentativa e eu também me senti inspirado a testar e
descobri.
Esse é o certo:
$email = $this->form_validation->set_value('email');
Isso recupera o valor do campo email do meu form que foi digitado pelo
usuário.
Eu só não descobri antes porque o nome do método que é usado "set_value()" é
péssimo, pois pensei se usasse ele, estaria setando, atribuindo um valor a
minha variável.
Se alguém tiver voz lá dentro do "ellislab", por favor solicitem a mudança
de nome desse método da form_validation.
Obrigado pela colaboração!
2009/2/17 Edinho Almeida <[email protected]>
> Tente:
>
> $this->CI->form_validation->email
>
>
> Abs
> Edinho Almeida
> 11 8018-8019
>
>
>
> 2009/2/17 Thiago Rocha <[email protected]>:
> > Olá Anderson, isso eu já estou fazendo no arquivo dentro do
> > application/config, conforme manda a documentação, conforme segue
> exemplo:
> > Usando a versão 1.7.0
> > <?php
> > $config = array(
> > 'usuario' => array(
> > array(
> > 'field' => 'nivel',
> > 'label' => 'Nível',
> > 'rules' => 'required'
> > ),
> > array(
> > 'field' => 'nome',
> > 'label' => 'Nome',
> > 'rules' =>
> > 'required|max_length[50]'
> > ),
> > array(
> > 'field' => 'email',
> > 'label' => 'Email',
> > 'rules' =>
> > 'trim|required|valid_email'
> > ),
> > array(
> > 'field' => 'nome_usuario',
> > 'label' => 'Login',
> > 'rules' =>
> > 'trim|required|min_length[4]|max_length[20]|callback_checar_nome_usuario'
> > ),
> > array(
> > 'field' => 'senha',
> > 'label' => 'Senha',
> > 'rules' =>
> > 'trim|required|min_length[4]|matches[senha_conf]'
> > ),
> > array(
> > 'field' => 'senha_conf',
> > 'label' => 'Confirmação de
> > senha',
> > 'rules' => 'trim|required'
> > )
> > ),
> >
> > 'login' => array(
> > ...
> > ?>
> > O meu problema é como acessar a variável que vem do form através da
> classe
> > form_validation.
> > Para entender melhor, na antiga classe "validation" eu poderia recuperar
> o
> > "email" ou qualquer outro valor inserido no form através do código:
> > $email = $this->validation->email;
> >
> > Mas o mesmo não é mais possível tentando dessa maneira:
> > $email = $this->form_validation->email;
> >
> > Então o que quero é o que não tem na documentação: como recuperar esses
> > valores no meu controller?
> > Eis a função contida no meu controler que é chamada através do "callback"
> do
> > campo "nome_usuario":
> > // Checa login/email para evitar duplicação
> > function checar_nome_usuario($nome_usuario) {
> > // $email = $this->validation->email; // isso aqui não funciona mais,
> > obviamente, pois o que está em vigor é a form_validation
> > $query = $this->db->get_where('usuarios',
> > array('nome_usuario'=>$nome_usuario), 1, 0);
> > if ($query->num_rows() != 0) {
> > $this->form_validation->set_message('checar_nome_usuario', 'Este login já
> > foi registrado');
> > return FALSE;
> > } else {
> > $query = $this->db->get_where('usuarios', array('email'=>$email), 1, 0);
> > if ($query->num_rows() != 0) {
> > $this->form_validation->set_message('_checar_nome_usuario', 'Este email
> já
> > foi registrado');
> > return FALSE;
> > }
> > }
> > return TRUE;
> > }
> >
> > Alguém sabe me explicar?
> > Abraços!
> > 2009/2/17 Anderson Unsonst <[email protected]>
> >>
> >> você vai usar :
> >>
> $this->form_validation->set_rules('nomedocampo','nomedolabel','suaregra');
> >> ou pode passar tudo como um array associativo vide manual...
> >> ae é soh usaro valid_email como regra.
> >> tudo isso tem no manual
> >>
> >>
> >> _______________________________________________
> >> Lista mailing list
> >> [email protected]
> >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >>
> >
> >
> >
> > --
> > "O meu passado, Senhor, à Tua misericórdia. O meu presente, ao Teu amor.
> O
> > meu futuro, à Tua Providência." (Padre Pio de Pietrelcina)
> >
> > _______________________________________________
> > Lista mailing list
> > [email protected]
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
--
"O meu passado, Senhor, à Tua misericórdia. O meu presente, ao Teu amor. O
meu futuro, à Tua Providência." (Padre Pio de Pietrelcina)
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br