You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel自定义FormRequest类如何获取验证后的纯属性数组

解决方案

直接调用自定义表单请求实例的validated()方法即可,该方法返回的结果和控制器中$request->validate()的返回值完全一致,仅包含你在表单请求rules()方法中定义过、且验证通过的字段,自动过滤csrf token、_method等框架内置的额外参数。

用法示例

  1. 首先确保你的StoreInternalInvoiceRequest类中已定义验证规则:
class StoreInternalInvoiceRequest extends FormRequest
{
    public function rules()
    {
        return [
            'invoice_sn' => 'required|string|max:32',
            'amount' => 'required|numeric|min:0.01',
            'payer_id' => 'required|integer',
            // 其他业务需要验证的字段
        ];
    }
}
  1. 控制器中直接调用方法获取验证后数组:
public function store(StoreInternalInvoiceRequest $r)
{
    // 直接获取所有验证通过的纯字段数组
    $validatedAttributes = $r->validated();

    // 额外可选:如果只需要部分验证后的字段,还可以通过safe()方法筛选
    // 只取指定字段
    $partial = $r->safe()->only(['invoice_sn', 'amount']);
    // 排除指定字段
    $partial = $r->safe()->except(['remark']);
}

内容的提问来源于stack exchange,提问作者narrei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 16:36:04