dongqian3750 2018-08-19 11:39
浏览 170
已采纳

如何使用没有标准auth的laravel RegisterController(php artisan make:Auth)

I thought that if($this->validator($request->all())) this would return true or false, but it returns a object every time returns true

use RegistersUsers;

protected $redirectTo = '/home';

    public function __construct()
    {
        $this->middleware('guest');
    }


    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|string|max:255',
            'surname' => 'required|string|max:255',
            'age' => 'required|integer|max:255',
            'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
        ]);
    }


    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'surname' => $data['surname'],
            'age' => $data['age'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }

    public function register(Request $request){

        if($this->validator($request->all())){
            //create user
            // function after registration
            var_dump('success');
        }else{
            //redirect to ...
            var_dump('fail');
        }
    }
  • 写回答

1条回答 默认 最新

  • dsy19890123 2018-08-19 12:10
    关注

    You have a couple of options here:

    Use validate()

    public function register(Request $request)
    {
        $this->validator($request->all())->validate();
    
        dd('success'); //This won't get called if validation doesn't pass
    }
    

    Using the above method, Laravel will handle the response for you.


    or if you want to have more control over the how you handle the validation then you can use the passes() method instead:

    public function register(Request $request)
    {
        if ($this->validator($request->all())->passes()) {
            dd('success');
        } else  {
            dd('fail');       
        }
    }
    

    Manually creating validators

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?