检查了这种question类似但对我的情况没有帮助。
我的输入请求转储为
array:2 [▼
"_token" => "nYb7gSp5TGTcrU9nNW9PMjJTduohLZFDLCzLGPbq"
"timings" => array:8 [▼
"day_1" => array:1 [▼
0 => "1"
]
"day_2" => array:1 [▼
0 => "1"
]
"day_3" => array:1 [▼
0 => "1"
]
"day_4" => array:1 [▼
0 => "1"
]
"day_5" => array:1 [▼
0 => "1"
]
"day_6" => array:1 [▼
0 => "1"
]
"day_7" => array:1 [▼
0 => "1"
]
"session" => array:1 [▼
0 => array:2 [▼
"start" => array:2 [▼
0 => "14:00 PM"
1 => null
]
"end" => array:2 [▼
0 => "15:00 PM"
1 => null
]
]
]
]
]
到目前为止,我为此所做的是
$rules = [
'timings.session.*.start.*' => 'nullable|date_format:H:i|before:timings.session.*.end.*',
'timings.session.*.end.*' => 'nullable|date_format:H:i|after:timings.session.*.start.*',
];
$messages = [
'timings.session.*.start.*.before' => 'Start Time should be before End Time',
'timings.session.*.end.*.after' => 'End Time should be after Start Time',
];
$validator = Validator::make($request->all(), $rules, $messages);
dd($validator->errors());
仍然收到错误消息是>
Illuminate\Support\MessageBag {#780 ▼ #messages: array:2 [▼ "timings.session.0.start.0" => array:2 [▼ 0 => "The timings.session.0.start.0 does not match the format H:i." 1 => "Start Time should be before End Time" ] "timings.session.0.end.0" => array:2 [▼ 0 => "The timings.session.0.end.0 does not match the format H:i." 1 => "End Time should be after Start Time" ] ] #format: ":message" }
问题:
a。)如何为时间输入设置正确的验证规则,以确保开始时间不应该大于结束时间?
b。)如何为日期选择添加另一个验证规则以匹配至少一个复选框?
谢谢,希望它也能帮助其他人。
检查了类似的问题,但对我而言没有帮助。我有多个时间输入,需要确保开始时间不应大于结束时间。我的输入请求转储是...
抱歉,经过一番尝试后,我发现一个解决方案,我只需要删除date_format
请尝试使用这种方式可能会对您有所帮助