Fórum Fazer o Laravel utilizar o UseRequest #592557
18/04/2018
0
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:
Conseguem me ajudar? Agradeço desde já ;)
Essa dúvida foi gerada a partir de um comentário no Curso de Laravel
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)