質問: [ 'start' => 'date', 'end' => 'date', ]; if (!is_null($request['start']) && !is_null($request['end']))){ $this->validate($request, $rules) } ``` ``` blade 〜 ``` ### 質問したいこと ・Laravelの$rulesで設定したバリデーションをstartのみ使用するということはできるのでしょうか。またその場合にはどのように書けば良いでしょうか。(質問の背景としてswitch文でどちらか片方がtrueのときにtrueのバリデーションを実行したいと思ったからです) ・if文の&&で繋いでいることが原因だと思っているのですが、解決策が自分の力では見つけられそうになかったのでご教授いただきたいです。(startとendを別々の条件分岐で記載してみましたがもう少し綺麗になるのではないか、他の方法があるのではないかと思っています) よろしくお願いします。
回答: こんにちは。 バリデーションを実行する時点で、start、endの値がnullでもOKなら ルールにnullableを追加することで通るのではないかと思います。 ``` $rules = [ 'start' => 'nullable|date', 'end' => 'nullable|date', ]; $this->validate($request, $rules) ``` ご参考にしてください。