【发布时间】:2019-09-27 17:16:08
【问题描述】:
我正在使用 Lumen 5.8.4,Dingo 包来制作 api,我正在尝试使用第三方包珍珠 (https://packagist.org/packages/pearl/lumen-request-validate) 进行表单请求验证,因为 Lumen 不支持它。
我已经设置了所有内容和验证逻辑:当我在课堂上定义规则和消息时(通过邮递员我收到“此字段是必需的”等),但当一切正常时,当所有字段都正常时(从前端)我收到了这条消息
{
"message": "Method App\\Http\\Requests\\StoreVehicleRequest::validate does not exist.",
"status_code": 500,
"debug": {
"line": 102,
"file": "E:\\Damjan\\Programiranje\\PHP\\Laravel\\Lumen\\automoto-lumen\\vendor\\illuminate\\support\\Traits\\Macroable.php",
"class": "BadMethodCallException",
"trace": [
"#0 E:\\Damjan\\Programiranje\\PHP\\Laravel\\Lumen\\automoto-lumen\\vendor\\dingo\\api\\src\\Provider\\LumenServiceProvider.php(58): Illuminate\\Http\\Request->__call('validate', Array)"...
我在这里看到的跟踪导致我拥有的 dingos LumenServiceProvider
$this->app->afterResolving(ValidatesWhenResolved::class, function ($resolved) {
$resolved->validate();
});
我认为这个应该使用珍珠RequestServiceProvider,我有。
$this->app->afterResolving(RequestAbstract::class, function ($resolved) {
$resolved->validateResolved();
});
或者我在这里遗漏了一些东西。挣扎着这一天。有什么想法吗?
【问题讨论】:
标签: validation request lumen