Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Tratando o formulário de registro

Se você chegou até aqui, é por que você quer validar o formulário assim como eu também.

Eu pensei um pouco e lembrei que em algum momento do curso, já tinha feito algo parecido no formulário, de criar série. Nessa caso então usei esse formulário como base.

Primeiro criar classe Request

php artisan make:request RegistroFormRequest

Depois da classe criada, primeira coisa mudar no RegistroController no método store em vez de Request para RegistroFormRequest assim vamos usar a nossa classe.

// código omitido 

public function store(RegistroFormRequest $request) ...

// código omitido 

Voltamos agora para RegistroFormRequest ...

Primeira parte mudar o return de método authorize para true, se você estivar se peguntando o porque é que se deixar false e tentar submeter seu form vai dar o erro de não autorizado (403).

Segunda parte no método rules vamos criar as nossas regras.

public function rules()
    {
        return [
            'name' => ['required', 'string', 'max:255'],
            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
            'password' => ['required', 'string', 'min:8']
        ];
    }

Fique a vontade para tirar algumas regras.

Terceira parte vamos criar as mensagens de cada regra no método messages.

public function messages()
    {
        return [
            'require' => 'O :attribute é obrigatório',
            'string' => 'O :attribute deve ser uma string',
            'email' => 'O :attribute deve ser um endereço de email válido',
            'unique' => 'O :attribute já existe, tente outro',
            'max' => 'O :attribute deve ter no máximo :max caracteres',
            'min' => 'O :attribute deve ter no mínimo :min caracteres',
        ];
    }

eu criei de forma genérica...

Por último la na página (registro/create.blade.php) onde é mostrado o formulário colocar o trecho de código que mostra as mensagens de erro quando houver.

@include('erros', ['errors' => $errors])

eu coloquei acima da tag form

Espero que ajude.

1 resposta
solução!

Bom dia!

Sua resolução ficou excelente! Você fez um ótimo uso do aprendizado.

Parabéns pelo empenho nos estudos e continue praticando.

Para que mais pessoas consigam visualizar a sua solução proposta, é recomendado que você marque este tópico como solucionado. Assim pode ajudar ainda mais pessoas :)

Bons estudos!