環境
- PHP 5.6
- Laravel 5.4
現象
下記コードはうまく動きません。いつでもバリデーションをパスします。
<?php use Validator; //中略 $input = [ "testNo" => $testNo //何かしらの数値変数 ]; $rule = [ "testNo" => "min:1" ]; $message = [ "testNo.min" => "Min Error." ]; Validator::make($input, $rule, $message)->validate();
解
正確には下記の通りにする必要があります。
<?php use Validator; //中略 $input = [ "testNo" => $testNo //何かしらの数値変数 ]; $rule = [ "testNo" => "numeric|min:1" // <=fixed ]; $message = [ "testNo.min" => "Min Error." ]; Validator::make($input, $rule, $message)->validate();
バリデーターに「これは数値ですよ」と教えてあげるようなイメージですね。たぶんstring, array, fileいずれにしても言えることかと思います。