REST API post 字段验证 Laravel 5.1

REST API post field validation Laravel 5.1

我需要检查是否所有发布的变量都是必需的,否则会抛出错误。 直到现在我都是这样做的

Routes.php

Route::post('/api/ws_fetchuser', 'UserController@fetch_user_details');

UserController.php

<?php

namespace App\Http\Controllers;

use App\Http\Requests;
use Illuminate\Http\Request;
use App\User;

class UserController extends Controller
{
  public function fetch_user_details(Request $request)
    { 
        if(!empty($request) && $request->id!='')
        {
            print_r($request->id);    
        }
        else
        {
            return response(array(
            'error' => false,
            'message' =>'please enter all form fields',
            ),200);        
        }

    }
}

我正在这样检查$request->id!='',是否有任何验证规则或方法可用于检查 id 是否为必填字段。

我也在我的控制器中添加了这个验证,但是如果不存在 id 我该如何显示错误呢?

更新验证码:

public function fetch_user_details(Request $request)
    { 
        $this->validate($request, [
        'id' => 'required'
        ]);

        print_r($request->id);

    }

$this->validate() 方法旨在在验证失败时重定向回来,因此您可以创建一个验证器实例并手动获取错误列表。

use Validator;


$validator = Validator::make($request->all(), [
        'id'    => 'required'
    ]);

if ($validator->fails()) {
    return json_encode($validator->errors()->all());
}