[英]Laravel validation - Different Attributes Specifications
我正在使用 LaravelMiddleware,它應該檢查 Access。 因此,我檢查一個特定的屬性,這些屬性有時具有不同的名稱。
例如:
- $請求->密鑰
- $request->moduleKey
我問是否有可能檢查 2 個不同的屬性規范?
像這樣:
$data = $request->validate([
'key|moduleKey' => ['required', 'numeric'],
]);
這種方式是不可能的,但您還有另外兩個選擇:
https://laravel.com/docs/9.x/validation#rule-required-without
$data = $request->validate([
'key' => ['required_without:moduleKey', 'numeric'],
'moduleKey' => ['required_without:key', 'numeric'],
]);
但問題是你仍然不知道你需要哪一個,除非你總是同時得到它們: $data['key']?? $data['moduleKey']
$data['key']?? $data['moduleKey']
您還可以事先更新請求:
$request['key'] = $request['key'] ?? $request['moduleKey'];
$data = $request->validate([rules]);
您可以將上面的這段代碼放入一個中間件中,以確保每個請求在請求中始終具有“key”變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.