Muh*_*tan 10 validation request race-condition laravel laravel-5.8
我POST在控制器内的请求方法上有这个验证规则:
class CreateOrderController extends Controller
{
public function create(Request $request)
{
$this->validate($request, [
'store_id' => $request->order_type === OrdersTypeConstants::P2P ? "" : "required|" . 'exists:stores,id',
'p2p_type' => [Rule::in([OrdersTypeConstants::P2PCOURIER, OrdersTypeConstants::P2PPURCHASE])],
'items' => 'required_if:p2p_type,'.OrdersTypeConstants::P2PPURCHASE.'|array',
'items.*.id' => 'nullable|numeric',
'items.*.quantity' => 'nullable|integer|min:1',
'items.*.adjustment' => 'nullable|numeric',
'items.*.image' => 'nullable|string',
'items.*.addons' => 'array',
'items.*.reward_applied' => 'boolean',
'items.*.replacement_strategy.type' => [
'string',
Rule::in([ItemReplacementStrategyConstants::REMOVE,ItemReplacementStrategyConstants::BEST_MATCH, ItemReplacementStrategyConstants::SPECIFIC])
],
'items.*.replacement_strategy.quantity' => 'integer|min:1',
'items.*.replacement_strategy.item_id' => 'numeric',
'address_id' => 'exists:addresses,id,user_id,' . $client_id,
'address_id_p1' => 'exists:addresses,id,user_id,' . $client_id,
'use_cash_deposit' => 'boolean',
]);
Run Code Online (Sandbox Code Playgroud)
有时它会返回,The store id field is required即使它实际上正在发送,正如您在错误日志中看到的那样:

它仅在生产环境中随机发生 - 并非始终如一地发生,仅在 firebase 上报告。
为什么会发生这种情况?
| 归档时间: |
|
| 查看次数: |
203 次 |
| 最近记录: |