Laravel Validator::validateDecimal 不存在

Col*_*ege 5 request laravel-9

我不知道这个错误是如何发生的,因为我运行的是 laravel 9.28.0,它确实有 validateDecimal 验证器,而且它不是自定义验证器。

https://laravel.com/docs/9.x/validation#rule-decimal

这是我的要求:

declare(strict_types=1);

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class FairlingoOmzetRequest extends FormRequest
{
    public function rules(): array
    {
        return [
            'omzet' => [
                'required',
                'decimal:2',
                'min:0',
            ],
            'aantal_opdrachten' => [
                'required',
                'min:0',
                'int'
            ],
        ];
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试在互联网上寻找解决方案,但没有。

完整错误:

https://flareapp.io/share/bP98rqDm#F2

Jos*_*rez 5

由于某种原因,并非 Laravel 9 的所有版本都包含此验证器,如果可能的话,解决方案是将您的 laravel/框架依赖项升级到更高版本。

我用composer升级到了最新版本:

composer update laravel/framework:9.49.0
Run Code Online (Sandbox Code Playgroud)

就我而言,我使用的是9.38.0版本,正如您在他们的存储库中看到的那样,他们没有该验证器,但9.49.0有。