验证JSON输入Laravel
我使用的是来自客户端的laravel和json输入。我想知道是否有一种方法可以创建一个进行json验证而不是url参数的表单请求。我在网上找到了这门课:验证JSON输入Laravel,json,validation,laravel,Json,Validation,Laravel,我使用的是来自客户端的laravel和json输入。我想知道是否有一种方法可以创建一个进行json验证而不是url参数的表单请求。我在网上找到了这门课: <?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; abstract class JsonRequest extends FormRequest { /** * Get the validator instan
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
abstract class JsonRequest extends FormRequest {
/**
* Get the validator instance for the request.
*
* @return \Illuminate\Validation\Validator
*/
protected function getValidatorInstance()
{
$factory = $this->container->make('Illuminate\Validation\Factory');
if (method_exists($this, 'validator'))
{
return $this->container->call([$this, 'validator'], compact('factory'));
}
return $factory->make(
$this->json()->all(), $this->container->call([$this, 'rules']), $this->messages(), $this->attributes()
);
}
}
我很困惑。难道你不能解码json并用filter\u var之类的东西检查所有的值吗?我在找一条拉威尔路看看这个。也许会有帮助
<?php
namespace App\Http\Requests;
use App\Http\Middleware\AuthTokenMiddleware;
use App\Http\Requests\Request;
use Illuminate\Support\Facades\Input;
class VotesCreateRequest extends JsonRequest
{
public function response(array $errors)
{
//
return response()->json(["error_list" => $errors], 200);
}
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{return true;
if(AuthTokenMiddleware::getUser()->can('access-group',Input::get("grp_id"))){
return true;
}
else{
return false;
}
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'sub_items'=>'required|array',
'sub_items.*.email' =>'required'
];
}
}