我正在使用Laravel的FormRequest进行验证,以使我的代码在控制器中更干净,并且在验证之后,我想添加一些要请求的数据,然后将其保存。因此,我只是在寻找一种解决方案,因此我不必在控制器中添加数据以进行请求。如果仅在同一文件中进行验证之后,可能会有用于修改数据并将其发送到控制器的额外功能。会更好。
答案 0 :(得分:1)
如果您希望对请求进行验证后再做一些事情,可以按照apokryfos的建议使用After Validation Hook。
但是我认为将这个钩子放入您的FormRequest
后代类中会更方便一些。
祖先:
use Illuminate\Foundation\Http\FormRequest;
class AncestorRequest extends FormRequest
{
...
protected function getValidatorInstance()
{
return parent::getValidatorInstance()->after(function ($validator) {
$this->after($validator);
});
}
protected function after($validator)
{
//
}
}
后代:
class DescendantRequest extends AncestorRequest
{
...
public function after($validator)
{
// do your things
}
}
P。 S.我在Laravel 5.2中使用的解决方案。 Here,您可以找到更多选项。