概要
- POSTされた値の範囲をバリデートするバリデーションルール
rangx
についてまとめる。
記載方法
-
バリデートしたい値の範囲は正規表現を用いて定義する。
-
「ハイフン無し郵便番号を文字列で受け取りたい。しかし数字だけに限定したい。。」場合などに使えそう。
-
下記のように記載する。
-
「文字列OK、ただし0~9までの数字のみ」のルールを記載する。(
stringバリデーションルールと組み合わせているがrangx
だけでも使える)formRequest.php/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'content' => ['string', 'regex:/^[0-9]+$/'], ]; }
-
「文字列OK、ただし特殊文字はNG」
formRequest.php/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'content' => ['string', 'regex:/^[0-9a-zA-Z]+$/'], ]; }
ご注意
- 当該バリデーションルールは内部でPHPのpreg_match関数を実行している。そのためpreg_match関数のフォーマットで値範囲を指定して上げる必要あり。
- バリデーションルールを複数記載する場合に区切りを
|
で区切る方法があるがrengx
を使うときは使用できない。上記の例のように配列を用いてバリデーションルールを記載すること。