Daniel, tentes fazer o seguinte:
$this->form_validation->set_rules('password', 'Senha',
'matches[password_conf]');
$this->form_validation->set_rules('password_conf', 'Confirmar senha', '');
Em ambos, não deixe o required. O problema está que desta forma, na adição, se
o utilizador não preencher o campo password, ele valida na mesma.
Uma solução para isso é testar se é uma adição ou edição. Eu geralmente testo
pelo id.
Por exemplo:
function editar($id)
function adicionar()
function _validacao($id = NULL)
Dentro da _validacao($id = NULL) eu testo pelo tal $id
if ( $id !== NULL )
//Estou a adicionar
else
//Estou a editar
[]'s
Em 2011/03/21, às 03:38, Daniel Medina escreveu:
> Estranho o assunto? pois é. nem sei se o termo existe.
>
> Eu tenho um cadastro de clientes que, quando aberto para edição, só deve
> validar se os campos "senha" e "confirmar senha" do formulário são iguais se
> o campo "senha" estiver preenchido.
>
> Trocando em miúdos: se o cara preencheu o campo "senha", eu me preocupo em
> comparar com o "confirmar senha". Senão, eu nem altero o campo "senha" no
> banco de dados...
>
> Alguém sabe como fazer?
>
> Eu tava pensando em botar no meio das regras um if perguntando se
> $this->input->post("senha") != "" ou != null pra aplicar as regras da senha
> ou não. Será que rola?
>
> Abraços à todos!
>
> --
> Daniel Medina
> _______________________________________________
> [email protected]
> http://www.codeigniter.com.br
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
> ---------------------------
> Oportunidade de negócio
> http://www.franquiasargohost.net
> ---------------------------
_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------