Laravel max Validator无法正常工作

ran*_*mor 5 php laravel laravel-4

我是Laravel的新手.

有人可以解释为什么max验证器不能像我预期的那样工作吗?

$input = ["schoolSeatsTotal" => '2000'];
$rules = ['schoolSeatsTotal'=>'max:300'];
$validator = Validator::make($input, $rules);
$validator->fails(); //Expected: true, Actual: false. 
Run Code Online (Sandbox Code Playgroud)

Lau*_*nce 10

你有schoolSeatsTotal一个字符串.对于字符串数据,max值对应于字符数.您想要验证整数.

所以改变

$input = ["schoolSeatsTotal" => '2000'];
Run Code Online (Sandbox Code Playgroud)

$input = ["schoolSeatsTotal" => 2000];
Run Code Online (Sandbox Code Playgroud)

要确保您正在验证数字 - 请执行以下操作:

$rules = ['schoolSeatsTotal'=>'numeric|max:300'];
Run Code Online (Sandbox Code Playgroud)

  • `['schoolSeatsTotal'=>'numeric | max:300'];`修复它,而不是$ input更改.谢谢! (2认同)