cakePHP(v3.x)、非負整数入力のバリデーション

金額など、負の値を入力して欲しくないフォームには非負整数を入力するようにバリデーションをかけておきたいです。

そういう時は、

public function validationDefault(Validator $validator)
{
    $validator
        ->nonNegativeInteger('price', '正の整数を入力してください');
}

としておくと、バリデーションでひっかけることができます。

他にもデフォルトのバデーションはvendor/cakephp/cakephp/src/Validation/Validation.phpに書かれているのでのぞいているといいと思います。