簡體   English   中英

Laravel 驗證 - 不同屬性規范

[英]Laravel validation - Different Attributes Specifications

我正在使用 LaravelMiddleware,它應該檢查 Access。 因此,我檢查一個特定的屬性,這些屬性有時具有不同的名稱。

例如:

  1. $請求->密鑰
  2. $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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM