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

Laravel 8数组验证自定义提示:如何提取数组索引后缀

解决Laravel 8验证消息格式问题

你的问题出在正则替换逻辑上,当前的preg_replace('/^[a-zA-Z_]*\./', '', ':key')没有正确移除price_per_image.前缀,导致消息里保留了完整的price_per_image.0字符串。

修改后的代码

将正则表达式改为精准匹配字段前缀price_per_image.,同时调整字符串拼接逻辑,即可得到你想要的格式:

public function messages()
{
    return [
        'price_per_image.array'      =>  'Price must be an array',
        'price_per_image.required'   =>  'Price per image field is required',
        'price_per_image.*.required' =>  'Price per image.' . preg_replace('/^price_per_image\./', '', ':key') . ' field required',
        'price_per_image.*.numeric'  =>  'You have invalid characters in the price field',
        'price_per_image.*.between'  =>  'Price per image.' . preg_replace('/^price_per_image\./', '', ':key') . ' must be in between 0.1 to 1000',
    ];
}

关键说明

  1. 用精准匹配的正则/^price_per_image\./替代泛匹配的/^[a-zA-Z_]*\./,确保完全移除price_per_image.前缀,只保留索引部分(如0、1)。
  2. 在Price per image后直接添加.,和处理后的索引拼接,就能生成Price per image.0的预期格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 13:35:03