Validação de campo unico
Olá boa noite,eu estou tendo uma dificuldade e não consigo encontrar uma solução, possuo um formulário com varios campos, dentre eles os campos email, cpf, e rg que são unicos. Criei um form request para validar os campos porem na hora de atualizar esses dados, o sistema ignora a validação de campo uinico quando os campos unicos não sofrerem alterações, e caso o usuario decida alterar um desses campos e caso coincida com algum que já exista, ele retorna o erro de validação.
Contudo, apenas o campo cpf não funciona corretamente, todos os demais estão ok, mas o cpf não passa pela validação de campo unico, alguma sugestão do que possa ser?
Essas são as validações no form request:
'cpf' => "required|numeric|digits_between:9,14|unique:customers,cpf,$id",
rg' => "required|numeric|unique:customers,rg,$id",
'email' => "required|email|unique:customers,email,$id",
Olá, Davisson!
Tudo bem?
Ficou errado a validação de valores únicos, está faltando a coluna de comparação.
A regra é: unique:nometabela,coluna_unica,ID,colunaID
Deve ficar assim: "required|numeric|digits_between:9,14|unique:customers,cpf,{$id},id"
Boa tarde, alterei mas continua o mesmo problema, os demais campos unicos são validados normalmente, mas o cpf não.
No cadastro ele valida certinho não permite a inserção de um cpf que ja exista, esse problema é somente na hora da atualização de dados e somente com a coluna cpf.
A coluna CPF no seu banco de dados é string?
Porque se for número, e inserir valores igual a "0" (zero) no inicio pode gerar o problema de comparação.
E o valor da variável $id está chegando com sucesso?
Debuga: dd($id);
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!