私はLaravelアプリケーションに取り組んでいます。UserRequest
入力を検証しています。次のルール:
'name' => 'sometimes|required|string|min:2|max:50'
sometimes
キーワードが存在するにもかかわらず、ユーザー名が存在しない場合は失敗します。ただし、次のリクエストは正常に機能します。
'name' => 'sometimes|string|min:2|max:50'
この問題を経験したのは私が初めてではありません ( Laravel validation required rule not workingを参照)。
ただし、ドキュメントには、最初のオプションを使用する必要があると記載されています。
場合によっては、フィールドが入力配列に存在する場合にのみ、そのフィールドに対して検証チェックを実行したい場合があります。これをすばやく行うには、ルール リストに once ルールを追加します。
$v = Validator::make($data, [
'email' => 'sometimes|required|email',
]);
上記の例では、email フィールドは $data 配列に存在する場合にのみ検証されます。
( https://laravel.com/docs/5.1/validation )
それが私が間違っているのか、それとも報告する必要があるバグなのか知っている人はいますか?