最近发表的话题
最近发表的评论
  • 使用 Dingo\API\Http\FormRequest,在 Request 设置 attributes 不起作用? at 3天前

    经测试,Dingo 包的 FormRequest 中,validate 方法不支持自定义 attribute 的功能。

    问题代码:

    // 位置 vendor/dingo/api/src/Http/FormRequest.php 
    // 没有传入自定义 attributes 字段代码
    $validator = app('validator')->make($this->all(), $this->rules(), $this->messages());

    建议:

    可以新建一个 FormReqeust 基类,修改 validate 方法为如下样式

    public function validate()
    {
        if ($this->authorize() === false) {
            throw new AccessDeniedHttpException();
        }
    
        //  传入自定义 attributes 
        $validator = app('validator')->make($this->all(), $this->rules(), $this->messages())
            ->setAttributeNames($this->attributes());
    
        if ($validator->fails()) {
            throw new ValidationHttpException($validator->errors());
        }
    }

    之后所有的验证类都继承此修改后的新基类。

    以上,应该可以满足楼主需求。