質問: ### 前提・実現したいこと 特定のフィールドに値が入っていれば、必須 という条件をLaravelバリデーションでかきたいです。 hogehogeフィールドは hagehageフィールドに値が設定されている場合必須で それ以外は任意、というバリデーションを記入したいです。 ### 試したこと ``` 'hogehoge' => ['required_if:hagegage,「null以外」', 'nullable','string'], ``` required_ifだと値が〜の時となるので 何らかの値が入ってる場合、という条件はどのようにして書けばいいのでしょうか? Laravel Framework 7.14.1
回答: 追記 質問の内容を勘違いしていたので的外れの回答となっていました。 正:hagehageが存在してたら、hogehogeも必須なバリデーション 誤:hagehageが存在してたら、hogehogeは空でも可なバリデーション 間違っtail回答内容は以下残しておきます。 回答 **未検証です** (時間出来て検証したら改めて回答を編集します) いくつかの `required_***` のルールは、結果的にそのフィールドが存在しかつ値が空でないことをチェックします。 そのため「条件により空でも良い」バリデーション時には不適格になります。 変わりに `exclude-if` が使用できるのではないかと考えます。 laravel 7.x - バリデーション#rule-exclude-if ちなみにバージョンを聞いたのは、`exclude-if`が出来たのが`6.10`のためです。