[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Antonio Fernandes
Criador Antonio Fernandes 01/09/2018

Fiquei preso na questão da validação. Crie 2 FormRequest um para o Store e outro para Update, por conta da senha que deve ser obrigatória no cadastro e pode ser vazia no Update.

No cadastro fiz ...'password'=> 'required|min:3|max:8'

porem no update tentei apenas min:3|max:8 mais neste caso ele obriga a ter no minimo 3 e nao deixa passar vazio. som consegui deixando apenas p max:8.

01 - Como permitir vazio no update, mas se informado garantir que tenha o mínimo de 3 e o maximo de 8 ?

Outra questão que me travou foi o email. Tentei me basear num exemplo anterior required|email|unique:users,email,{$id},id  mais dai percebi que no exemplo anterior pegamos o id pela url com $this->segment(5) e neste caso não temos essa variavel.
02 - Como validar como campo único no update

Manager Carlos Ferreira 01/09/2018

Olá, Antonio!

1) Você pode trabalhar com regras condicionais: https://laravel.com/docs/5.6/validation#conditionally-adding-rules
'password' => 'sometimes|min:3|max:15',

2) No caso pra validar valor único precisa fazer exatamente como fizemos, adicionando a exceção através do ID do registro.
'email' => "required|email|unique:users,email,{$id},id",

Essa variável $id precisa ter exatamente o ID do registro. Você pode pegar através do segmento na URL, ou através de $this->id

Debug e o valor dela pra analisar se conseguiu pegar o valor correto:
// Antes do return:
dd($id);

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!