php - Laravel 5.8 自定义表单请求未按预期工作?

标签 php laravel laravel-5 laravel-5.8 laravel-request

我创建了一个名为 ClientStoreRequest 的自定义表单请求使用以下代码:

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class ClientStoreRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
        // return  $this->user()->can('add-clients');
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name' => 'required|unique:clients|max:255',
            'website' => 'required|url',
            'street' => 'required',
            'town' => 'required',
            'postcode' => 'required|max:8',
            'county' => 'required',
            'country' => 'required'
        ];
    }
}

然后我修改了我的 ClientControllerstore方法看起来像这样:
    /**
     * Store a newly created resource in storage.
     *
     * @param  ClientStoreRequest  $request
     * @return \Illuminate\Http\Response
     */
    public function store(ClientStoreRequest $request)
    {
        dd(1);
    }

所以当表单提交时,它应该杀死页面并打印一个1到屏幕。当我使用 ClientStoreRequest $request ,它只是让我回到我提交表单的页面,没有错误,也没有 dd(1)结果,但是当我使用 Request $request 时它打印 1到屏幕。

我错过了一些非常明显的东西吗?我已经 followed the docs做这个。

编辑:我正在使用资源 Controller ,所以路由是 Route::resource('clients', 'ClientController');

最佳答案

有点尴尬,但这完全归咎于开发人员的错误。自定义表单请求实际上工作正常......只是我的规则引用了我忘记放入表单的一个字段,所以没有在屏幕上显示错误!一旦我回显了通常的 $errors 数组,我就可以看到我的错误 - 我会责怪深夜编码!

关于php - Laravel 5.8 自定义表单请求未按预期工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57022841/

相关文章:

php - 如何正确地 substr html 实体?

php - MySQL/PHP 测验引擎 - 防止多次尝试

php - 为什么我的事件监听器没有在 Laravel 5 中触发?

mysql - 在 Laravel 查询中选择行

php - Laravel - SQLSTATE [42000] : Syntax error or access violation: 1064 on migration

php - Laravel 中的选择和分组

php - 将查询结果从灯组传输到另一个灯组

php - MySQL真正的转义-自己的转义-o到ö?

laravel - 使用 Laravel 和 composer 发布自定义包文件

php - 将所有值(由表单接收)存储在数据库中,除了 2 用于在 laravel 中进行修改