如何在Laravel中验证Patch / Put请求
根据Laravel文档http://laravel.com/docs/5.1/controllers,put/patch
请求由资源控制器的update
操作处理
Verb Path Action Route Name
PUT/PATCH /photo/{photo} update photo.update
由于patch
请求应更新部分资源,put
请求更新整个资源,我的FormRequest
验证rules
应该如何:
我应该做这样的事情:
public function rules()
{
$rules = [];
if($this->has('name')) $rules['name'] = 'required';
if($this->has('email')) $rules['email'] = 'required|email';
return $rules;
}
依靠你的专业答案。
答案 0 :(得分:0)
尝试覆盖getValidatorInstance
类
FormRequest
方法
我不尝试,但我认为它应该工作:) 希望主要思路清晰
protected function getValidatorInstance()
{
$validator = \Validator::make($this->all(), $this->rules(), $this->messages(), $this->attributes());
$validator->sometimes('reason', 'required|max:500', function($input) {
return $input->games >= 100;
});
return $validator;
}