在 Laravel-Modules 中创建表单请求验证

操作

1、创建请求验证文件

面对更复杂的请求验证,我们可以创建一个「表单请求」来应对更复杂的验证逻辑。表单请求是一个包含了验证逻辑的自定义请求类。要创建一个表单请求类,可以使用 make:request Artisan CLI 命令:

php artisan make:request TestPostRequest

但是如果在 Laravel-Modules 中怎样创建表单请求验证呢?方法很简单,只需要改写一下命令:

php artisan module:make-request TestRequest Admin

该命令会在 Admin/Http/Requests 目录下新建一个 TestRequest.php

image.png

TestRequest.php 验证代码:

<?php

namespace Modules\Admin\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Contracts\Validation\Validator;

class TestRequest extends FormRequest
{
    /**
     * Get the validation rules that apply to the request.
     * @return array
     */
    public function rules()
    {
        return [
            'title' => 'required',
            'body' => 'required',
        ];
    }

    public function messages()
    {
        return [
            'title.required' => '标题必传',
            'body.required' => 'body必传',
        ];
    }

    protected function failedValidation(Validator $validator)
    {
        dd($validator->errors()->messages());
    }

    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }
}

基本使用

在控制器方法中注入依赖:

<?php

namespace Modules\Admin\Http\Controllers\v1;

use Illuminate\Routing\Controller;
use Modules\Admin\Http\Requests\TestRequest;

class IndexController extends Controller
{
    public function test(TestRequest $testRequest)
    {
        return ($testRequest->get('body'));
    }
}

效果

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容