samedi 12 novembre 2016

Call to undefined method Illuminate\Http\JsonResponse::validate() in Laravel 5.3

I am implementing a registration form using JSON post request and laravel 5.3 with the below Controller settings

<?php

namespace App\Http\Controllers\Auth;

use App\User;
use Validator;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\RegistersUsers;


class RegisterController extends Controller
{

use RegistersUsers;

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

protected function validator(array $data)
{
    $data = $data['Register'];
    $validator = Validator::make($data, [
        'email' => 'required|email|max:255|unique:users',
        'password' => 'required|min:6|confirmed',
    ]);

    if($validator->fails())
    {
        $errors = $validator->errors()->all()[0];
        //dd($errors);

        return response()->json(['errors'=>$errors]);
    }
    else
    {
        return $validator;
    }
}
protected function create(array $data)
{

    $data = $data['Register'];
    //dd($data);
    User::create([
        //'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]);

    return response()->json(['success' => $data['email']], 200);
}

}

But i want to track server errors in the event of multiple registration with the same email. I have handled this on the client side but in need to handle on the backend too.

The Problem is with the validator function it keep returning below error

FatalThrowableError in RegistersUsers.php line 31:
Call to undefined method Illuminate\Http\JsonResponse::validate() 

I have checked inside the framework code and there is a validate method which seems to be unrecognized with the json response any ideas?



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire