概要
- キーが送信された場合のみ設定されているバリデーションチェックを行う
sometimes
についてまとめる。
記載方法
-
このバリデーションは若干filledと似ている。
-
しかし
filled
は「キーが送られた場合、空ではないこと」をバリデートしている。 -
今回の
someimes
は「キーが送られた場合、その他の設定されているバリデーションチェックを行う」というルールである。 -
キーが有るときだけ 「
filled
は空でないことだけのチェックを実施」「sometimes
は空でないことを含むその他のチェックを実施する事ができる(その他のバリデーション設定次第)」という違いのようだ。 -
下記のように記載する。(content_1のキーが送られた場合「'required', 'integer'」のチェックが行われる。)
formRequest.php/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'content_1' => ['sometimes', 'required', 'integer'], ]; }
-
ちなみにバリデーション
sometimes
を一番最初に指定しないと行けないわけでない。下記でも上記と同じ動作をする。formRequest.php/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'content_1' => ['required', 'integer', 'sometimes'], ]; }
-
さらに、
sometimes
を用いてfilled
と同じチェックをする事ができる。(多分同じチェックになっているはず。動作的には変わらなかった。) -
sometimes
を使用formRequest.php/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'content_1' => ['sometimes', 'required'], ]; }
-
filled
を使用formRequest.php/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'content_1' => ['filled'], ]; }