Laravel 数値範囲のバリデーションで負の値を含む方法

Laravel 数値範囲のバリデーションで負の値を含む方法

Laravelのバリデーターは予め多彩なルールが用意されています。
私自身は.Net歴が長いので数値範囲はRangeのアノテーションみたいな感じで指定すればいいという先入観からちょっとハマりました。

digits_betweenは桁数

数値の範囲だからdigits_between:-100,100っと入れて実行するとバリデーションルールに引っ掛かりました。
リファレンスをよく読めば書かれていますが、これは数値の範囲ではなく桁数のバリデーションルールです。
「1」なら1桁、「10」なら2桁の桁数です。

-100桁〜100桁というおかしな指定をしても、PHPらしくエラーになることはなく、ただバリデーションが通りません。

digits_between:最小値,最大値
フィールドが整数で、桁数が最小値から最大値の間であることをバリデートします。

betweenが数値範囲

数値の範囲を指定したい場合はただのbetweenを使います。

between:min,max
フィールドが指定された最小値と最大値の間のサイズであることをバリデートします。sizeルールと同様の判定方法で、文字列、数値、配列、ファイルが評価されます。

参考

プログラミングカテゴリの最新記事