目的
- laravelで任意のフィールドの値が指定したものと一致していた時に当該フィールドのバリデートをスキップする方法をまとめる
方法
-
フィールド
check
の値に「false」という文字列が格納されたときに、フィールドinput_str
の値のバリデーションをスキップしたいときは下記のように記載する。 -
input_str
の値のバリデーションルールは「必須」と「文字列であること」とする。 -
下記はリクエストファイルの
rules()
メソッドの内容のみ抜粋して記載する。HogeRequest.php/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'check' => 'required', 'input_str' => 'exclude_if:check,false|required|string', ]; }
-
任意のフィールドの値が指定したものと一致していた時のみ除外してほしいバリデーションルールの頭に
exclude_if:フィールド名,指定された値
を記載する。