title: JSON errors of LoginController and RegisterController should be strings not arrays
body: <p>I am using Laravel 5.5.14 (<code>php artisan --version</code>). I am using Laravel to create just a REST API.</p>
  
  <p>When I get errors, the shape of it looks like this:</p>
  
  <pre><code>[
      'message' =&gt; 'The given data was invalid.',
      'errors' =&gt; [
          'email' =&gt; ['The email field is required.'],
          'password' =&gt; ['The password field is required.']
      ]
  ]
  </code></pre>
  
  <p>My </p>
  
  <p>We see inside the <code>errors</code> array, each field (<code>email</code>, <code>password</code>) instead of being strings, is an array of a single string. Can there ever be more then one error is this why it is an array? Even if there is more then one error, I wanted to tell Laravel just report the first error without an array, is this possible?</p>
  
  <p>In my <code>api.php</code> I have this:</p>
  
  <pre><code>Route::post('login', 'Auth\LoginController@login');
  Route::post('logout', 'Auth\LoginController@logout');
  Route::post('register', 'Auth\RegisterController@register');
  </code></pre>
  
  <p>My <code>LoginController.php</code> looks like this:</p>
  
  <pre><code>public function __construct()
  {
      $this-&gt;middleware('guest')-&gt;except('logout');
  }
  
  public function login(Request $request)
  {
      $this-&gt;validateLogin($request);
  
      if ($this-&gt;attemptLogin($request)) {
          $user = $this-&gt;guard()-&gt;user()-&gt;load('pets');
          $user-&gt;generateToken();
  
          return $user;
      }
  
      return $this-&gt;sendFailedLoginResponse($request);
  }
  
  public function logout(Request $request)
  {
      $user = Auth::guard('api')-&gt;user();
  
      if ($user) {
          $user-&gt;api_token = null;
          $user-&gt;save();
      }
  
      return ['ok' =&gt; true];
  }
  </code></pre>
  
  <p>And my <code>RegisterController.php</code> looks like this:</p>
  
  <pre><code>public function __construct()
  {
      $this-&gt;middleware('guest');
  }
  
  /**
   * The user has been registered.
   *
   * @param  \Illuminate\Http\Request  $request
   * @param  mixed  $user
   * @return mixed
   */
  protected function registered(Request $request, $user)
  {
      $user-&gt;generateToken();
  
      return response()-&gt;json($user, 201);
  }
  
  /**
   * Get a validator for an incoming registration request.
   *
   * @param  array  $data
   * @return \Illuminate\Contracts\Validation\Validator
   */
  protected function validator(array $data)
  {
      return Validator::make($data, [
          'name' =&gt; 'required|string|max:255',
          'email' =&gt; 'required|string|email|max:255|unique:users',
          'password' =&gt; 'required|string|min:6|confirmed',
      ]);
  }
  
  /**
   * Create a new user instance after a valid registration.
   *
   * @param  array  $data
   * @return \App\User
   */
  protected function create(array $data)
  {
      return User::create([
          'name' =&gt; $data['name'],
          'email' =&gt; $data['email'],
          'password' =&gt; bcrypt($data['password']),
      ]);
  }
  </code></pre>