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
---------------------------

Responder a