我从响应中得到一个 formData,我将其更改为中间件以在验证时使用它,问题是我必须进行另一项修改以验证数组中的所有元素而不使用“数组” em>.oneElement'。
来自中间件的代码
public function handle($request, Closure $next)
{
if ($request->has('all_values')) {
$request->merge([
'all_values' => json_decode($request->get('all_values'), true)
]);
}
return $next($request);
}
//来自请求
public function rules()
{
$validations = [
'all_values.saleforce_id' => 'required',
'all_values.customer_id' => 'required',
'all_values.lkp_product_category_id' => 'required',
]
// I need to access this all_values before validations
if (request()->has('validation_field')) {
return [request()->validation_field => $validations[ request()->validation_field ]];
} // this is used for a validation , to do validation onChange
return $validations;
}
$request = $request->all()['all_values']; // I need something like this, but this doesn't work
最佳答案
在 FormRequests
上,您可以使用 prepareForValidation()
。
protected function prepareForValidation()
{
$this->merge([
'all_values' => json_decode($request->get('all_values'), true),
]);
}
关于laravel - 在验证之前修改请求响应,Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60542202/