Olá, eu repopulo os valores no validation, por exemplo:
no meu controlador, faço algo do tipo:
$usuario = $this->usuario_model->pega_valores($codigo);
$this->validation->nome = $usuario['nome'];
//Carrego a view
$this->load->view('usuario_form');
como a minha view possui um form que se parece com isto:
<input type='text' name='nome' value='<?=$this->validation->nome?> />
assim ao carregador a view do form, ele vem todo populado, como se eu
tivesse usando alguma regra de validação.
qualquer duvida diz ai
valew
2008/7/21 Alan <[EMAIL PROTECTED]>:
> Então pessoal, resolvi o meu problema! Mas tive que criar outra view para
> editar o cadastro, mas tudo bem, hehe.
>
> Praticamente copiei a maneira de fazer a coisa do bambooinvoice, muito
> obrigado pelo link Felipe!
>
> Fiz assim:
>
> Controller:
>
> function edit($id)
> {
>
> #'Load' Rules and Fields Validation
> $this->load->view('validation/cadastro_validation.php', '',
> FALSE);
>
> if ($this->validation->run() == FALSE)
> {
> $data['title'] = "Cadastrar";
> $data['heading'] = "ipzCAD";
> $data['css'] = array('ipzcad', 'form');
> $data['cadastro'] = $this->Cadastros->get_cadastro_by_id($id);
> $this->load->view('edit_cadastro' , $data);
> }
> else
> {
> $data['title'] = "Visualizar";
> $data['heading'] = "ipzCAD";
> $data['css'] = array('ipzcad', 'visualizar');
> $this->Cadastros->insert_cadastro();
> redirect('visualizar');
> }
> }
>
> Bom, peguei a idéia da linha
> "$this->load->view('validation/cadastro_validation.php', '' FALSE);" do
> bamboo, na verdade essa me parece uma forma bem estranha de se fazer as
> coisas, vocês acham o mesmo? Mas funciona e ajudou a deixar meu código mais
> organizado.
>
> Criei uma nova view, chamada edit_cadastro que na verdade é uma cópia da
> view cadastro com algumas modificações, escrevi assim nessa view:
>
> <input id="nome" name="nome" type="text" maxlength="255"
> value="<?=$cadastro[0]->nome;?>"/>
>
> $cadastro eu passo pelo $data para popular o formulário.
>
> O que me parece estranho é que a validação funcionou dessa forma, enquanto
> na view cadastro eu faço assim:
>
> <input id="nome" name="nome" type="text" maxlength="255"
> value="<?=$this->validation->nome;?>"/>
>
> Bom é isso. Sou novato no negócio então queria saber se do jeito que estou
> fazendo está correto, vocês fazem da mesma forma?
>
> Abraços,
> Alan
>
>
>
> 2008/7/21 Reginaldo Sousa <[EMAIL PROTECTED]>:
>
> Tenta algo assim:
>> <input id="nome" name="nome" type="text" maxlength="255" value="<?php echo
>> ($this->validation->nome) ? $this->validation->nome : $user->nome;?>"/>
>>
>>
>> 2008/7/20 Alan <[EMAIL PROTECTED]>:
>>
>>> Sim, até ai tudo certo, simples para fazer. Mas, eu escrevi meu form
>>> dessa forma:
>>>
>>> <input id="nome" name="nome" type="text" maxlength="255"
>>> value="<?=$this->validation->nome;?>"/>
>>>
>>> Repare que estou usando a lib de validação do codeigniter. O que eu quero
>>> fazer é popular o formulário mas sem ter que passar os valores pelo value,
>>> ou se eu tiver que passar pelo value, manter o esquema de validação
>>> funcionando. Como posso fazer isso?
>>>
>>> Abraços,
>>> Alan
>>>
>>>
>>> 2008/7/20 Cairo Noleto <[EMAIL PROTECTED]>:
>>>
>>> Na hora de carregar a view, passa a query com o objeto capturado do banco
>>>> $this->load->view('view', $data);
>>>>
>>>> Já na view, faz algo parecido com isso:
>>>> <input type="text" name="nome" value="<?= @$nome?>">
>>>>
>>>> 2008/7/20 Alan <[EMAIL PROTECTED]>:
>>>>
>>>> Então Vinicius,
>>>>>
>>>>> Essa parte de recuperar os dados e de usar as funções do Active Record
>>>>> eu já aprendi. O que eu não sei como fazer é popular um formulário com
>>>>> essas
>>>>> informações recuperadas. No caso, eu gostaria de usar o mesmo formulário
>>>>> que
>>>>> eu tenho para adicionar um novo cadastro.
>>>>>
>>>>> Felipe,
>>>>>
>>>>> Valeu pelo link! Vou dar uma olhada no projeto agora mesmo!
>>>>>
>>>>> Abraços,
>>>>> Alan
>>>>>
>>>>> 2008/7/19 Vinicius Cruz <[EMAIL PROTECTED]>:
>>>>>
>>>>> Oi Alan,
>>>>>>
>>>>>> Você pode resgatar o valor especifico, utilizando o
>>>>>> $this->db->getwhere() no seu model. Nesse caso, vc utilizaria a função
>>>>>> assim:
>>>>>>
>>>>>> $query = $this->db->getwhere('tabela', array('id'=>$id));
>>>>>>
>>>>>> Veja mais no manual:
>>>>>> http://www.codeigniter.com.br/manual/database/active_record.html
>>>>>>
>>>>>> Para salvar as alterações, você usa o update, também especificado no
>>>>>> manual.
>>>>>>
>>>>>> Falou!
>>>>>> Vinicius
>>>>>>
>>>>>>
>>>>>> 2008/7/18 Alan <[EMAIL PROTECTED]>:
>>>>>>
>>>>>>> Olá pessoal, tudo bom?
>>>>>>>
>>>>>>>
>>>>>>> Estou desenvolvendo uma aplicação de cadastro. Esse cadastro está
>>>>>>> funcionando muito bem, estou usando a lib de validação do codeigniter
>>>>>>> para
>>>>>>> fazer a validação dos dados e fazer aquele esquema de re-popular os
>>>>>>> dados no
>>>>>>> form caso algum dado esteja incorreto.
>>>>>>>
>>>>>>> Meu sistema está assim:
>>>>>>>
>>>>>>> model/cadastro.php
>>>>>>> view/cadastro.php
>>>>>>> controller/cadastro.php
>>>>>>>
>>>>>>> O controller cadastro.php contém:
>>>>>>>
>>>>>>> function add() (adiciona um cadastro, aqui é onde está a validação
>>>>>>> tbm)
>>>>>>> function view($id) (resgata um cadastro do banco (atrávez de funcao
>>>>>>> no model) e abre uma view com os dados desse cadastro)
>>>>>>> function edit($id) (Aqui é que está meu problema)
>>>>>>>
>>>>>>> Bom, o que eu quero fazer é que a função edit resgate um cadastro que
>>>>>>> já está no banco para que ele seja editado. Como eu posso fazer isso? Eu
>>>>>>> gostaria que a função edit resgatasse os dados do cadastro e que a view
>>>>>>> cadastro.php fosse carregada com os campos populados com as informações
>>>>>>> desse cadastro. Como eu posso fazer isso? Como vocês costumam fazer no
>>>>>>> sistema de vocês esse esquema de crud?
>>>>>>>
>>>>>>> Valeu,
>>>>>>> Alan
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Lista mailing list
>>>>> [email protected]
>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Cairo Noleto => http://www.caironoleto.com
>>>> Add4 Comunicação => http://www.add4.com.br
>>>> MSN Messenger => [EMAIL PROTECTED]
>>>> Google talk => [EMAIL PROTECTED]
>>>> Skype => cnoleto
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>>
>>
>>
>> --
>> Reginaldo Sousa | Desenvolvedor web
>> [EMAIL PROTECTED], [EMAIL PROTECTED]
>> (21) 8728-1850
>>
>> _______________________________________________
>> 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
>
>
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br