マイナスを含めた整数チェックの場合、preg_match()
で判定すると手っ取り早くできます。
下記コード例は、Cakephp4 で書いてますが、他のフレームワークや素のPHPで正規表現を利用すれば応用は効くはずです。
Cakephp4: preg_matchを用いたマイナス含む整数チェック
// validationDefaultなどのバリデートメソッド内にて $validator ->notEmptyString('number', '数を入力してください') ->add('number', 'checkNumeric', [ 'rule' => function ($data) { return preg_match('/^[-]?[0-9]+$/', (string)$data) ? true : false; }, 'message' => '数を正しく入力してください', ]) return $validator;
このようにすることで、先頭にマイナスがあり、数値だけを許可する方法があります。
ちなみに、マイナスを含まないなのであれば [-]
を除けばよいだけなので、簡単ですね。