Fazer o Laravel utilizar o UseRequest

18/04/2018

0

PHP

Olá pessoal, tudo bem!?

Estou desenvolvendo uma aplicação e ao invés de deixar habilitado no HOME o registrar do Laravel, criei o Cadastrar, onde somente um usuário logado pode cadastrar outro usuário.
Contudo, não estou conseguindo fazer com que o Laravel utilize o UseRequest que eu criei. Quando testo a criação de um usuário que já existe, ele não cai na validação do unique:users, mas sim dá erro de duplicidade no MySQL:

UserController-->
    public function salvar(App\\\\Http\\\\Requests\\\\UserRequest $request)
    {
            $user = Auth::user()->create([
                'name' => $request['name'],
                'email' => $request['email'],
                'password' => Hash::make($request['password'])
            ]);

            \\\\Session::flash('flash_message',[
            'msg'=>"Usuário adicionado com Susesso!",
            'class'=>"alert-success"
            ]);


        return redirect()->route('user.adicionar');
    }

UserRequest-->

class UserRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }
    public function messages()
    {
        return [
            'name' => 'required|max:255',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|min:6|confirmed'
        ];
    }
    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name.required'=>'Nome obrigatório',
            'name.max'=>'Preencha um nome com no máximo 255 caracteres',
            'email.required'=>'Email obrigatório',
            'email.email'=>'Preencha um email válido',
            'email.max'=>'Preencha um email com no máximo 255 caracteres',
            'email.unique'=>'Email já esta cadastrado',
            'password.required'=>'Senha obrigatória',
            'password.min'=>'Senha deve ter no mínimo 6 caracteres',
            'password.confirmed'=>'Confirme com a mesma senha'
        ];
    }
}


Conseguem me ajudar? Agradeço desde já ;)

Essa dúvida foi gerada a partir de um comentário no Curso de Laravel
Rodrigo Cadima

Rodrigo Cadima

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar