【发布时间】:2020-03-05 09:39:43
【问题描述】:
我从响应中得到一个 formData,我将其更改为中间件以在验证时使用它,问题是我必须进行另一次修改以验证数组中的所有元素而不使用 'array 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
【问题讨论】:
-
不需要控制器,对于请求,首先访问请求资源然后访问控制器,我需要在此之前修改请求,在中间件或请求资源中