I'm trying to use a custom request on Laravel 5 to validate inputs sent through post, but when the form fields are ok, ie. form validation goes fine, my controller's method is not called. Is that a bug? What's wrong? I know it's possible 'cause I did this once ago in another project. I was using version 5.2.6 in this project, then I thought It was a issue with this specific version, that's when I "switched back" to 5.1 but editing my composer.json
, deleting vendor
folder and then reinstalling with composer install
.
Contents of my UserController:
//...
public function save(Requests\CreateUserRequest $request)
{
$user = new User();
$user->name = $request->input('name');
$user->email = $request->input('email');
$user->username = $request->input('username');
$user->password = $request->input('password_confirmation');
//$user->profile_id = $request->input('profile');
$user->profile_id = 1;
$user->save();
return redirect()->route('get_user_read');
}
//...
CreateUserRequest:
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
class CreateUserRequest extends Request
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'profile' => 'required',
'name' => 'required',
'username' => 'required|unique:users,username',
'email' => 'required|email|unique:users,email',
'password' => 'required',
'password_confirmation' => 'required|same:password',
];
}
public function messages()
{
return [
'profile.required' => 'O campo perfil é obrigatório!',
'name.required' => 'O campo nome é obrigatório!',
'username.required' => 'O campo nome de usuário é obrigatório!',
'username.unique' => 'O nome de usuário já foi registrado!',
'email.required' => 'O campo email é obrigatório!',
'email.unique' => 'O email informado já foi registrado!',
'email.email' => 'O email informado não é válido!',
'password.required' => 'O campo senha é obrigatório!',
'password_confirmation.required' => 'O campo de confirmação de senha é obrigatório!',
'password_confirmation.same' => 'A confirmação de senha não confere com a senha informada!',
];
}
}
Thanks.