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

Laravel 10x:如何将数组存在性校验转为Form Request规则?

Laravel Form Request 实现数组值校验转换

你可以直接利用Laravel内置的验证规则完成需求,无需保留传统的in_array判断逻辑,具体实现方式有两种:

方式一:字符串拼接规则

直接将允许的数组转换为逗号分隔的字符串,配合in规则使用:

public function rules(): array
{
    return [
        'number_selected' => 'required|in:' . implode(',', self::$allowedNumbers),
    ];
}

方式二:使用Rule类(推荐)

这种方式可读性更强,也更适合动态生成允许列表的场景,需要先引入Illuminate\Validation\Rule类:

use Illuminate\Validation\Rule;

public function rules(): array
{
    return [
        'number_selected' => [
            'required',
            Rule::in(self::$allowedNumbers),
        ],
    ];
}

自定义错误提示(可选)

如果需要替换默认的错误消息,可以在Form Request类中重写messages方法:

public function messages(): array
{
    return [
        'number_selected.in' => '所选编号不在允许范围内',
    ];
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 16:52:06