バリデーションについてまとめていくよ2(文字種編)に続いてlaravelのバリデーションをまとめていきます。今回は、数値についてのバリデーションを確認します。確認するルールはinteger、digits、digits-between、max_digits、min_digits、numeric、decimal、multiple_ofです。整数であることをチェックします。Laravle公式のバリデーションのドキュメントに下記のように(翻訳済みです)あります。この検証ルールは入力がinteger型であることを検証するものではなく、PHPのFILTER_VALIDATE_INTルールが受け付ける型であることを検証するものです。入力が数値であることを検証する必要がある場合は、このルールとnumericのルールを組み合わせて使用してください。16進、8進、2進表記、マイナスも許容されます。プラスの10進表記の整数のみを許容したい場合は後述のdigitsなどがよいかもしれません。マイナスの10進表記も許容したい場合は、正規表現で-?[0-9]+のようにしたほうが良いかもしれません。falseサンプルでは数字については文字列で記載していますが、数値型でも同様の結果となります。Laravelでの実装はこちら。https://github.com/laravel/framework/blob/v9.45.1/src/Illuminate/Validation/Concerns/ValidatesAttributes.php#L1287-L1297PHPでの整数の定義は下記のようになっています。整数(桁数指定)プラスの整数であり、指定の桁数であることをチェックします。ゼロ始まりも許容されるので、注意が必要です。falseLaravelでの実装はこちら。整数(桁数範囲指定)digitsの桁数の範囲を指定してチェックします。サンプルは大幅に省略します。falseLaravelでの実装はこちら。整数(最大桁数指定)digitsの最大桁数を指定してチェックします。サンプルは大幅に省略します。falseLaravelでの実装はこちら。整数(最低桁数指定)digitsの最低桁数を指定してチェックします。サンプルは大幅に省略します。trueLaravelでの実装はこちら。数値is_numeric関数で数値であるかをチェックします。trueLaravelでの実装はこちら。https://github.com/laravel/framework/blob/v9.45.1/src/Illuminate/Validation/Concerns/ValidatesAttributes.php#L1555-L1565PHPでの数値形式の定義は下記のようになっています。数値(小数桁数指定)上述のnumericルールにマッチし、小数点以下の桁数が指定桁数かのチェックをします。引数を1つのみ指定した場合、小数点以下の桁数が一致することをチェックします。引数を2つ指定した場合は、小数点以下の桁数の範囲を指定します。falseLaravelでの実装はこちら。入力値が指定された数値の倍数であるかをチェックする。サンプルは3としましたが、0.3などの小数も設定できます。falseLaravelでの実装はこちら。バリデーションについてまとめていくよ1コメントコメントは公開されません。誤記、お問い合わせなどお気軽に送信してください。