Laravel 10中Validator::safe()->except()未排除指定字段的问题
解决Laravel 10.x Validator safe()->except()无效的问题
可行方案
直接将验证通过的数据转为集合后再执行排除操作,能确保指定字段被移除:
$booking_data = collect($validator->safe()->all())->except(['displayed_total_rate'])->toArray();
原写法失效原因
$validator->safe()返回的是ValidatedData实例,它的except方法在部分场景下可能存在逻辑偏差,无法正确过滤字段。而借助Laravel集合的except方法,能更可靠地对验证通过的数据集进行精确筛选,既保证只保留通过验证的字段,又能排除不需要的displayed_total_rate。
内容的提问来源于stack exchange,提问作者Ali
相关产品推荐
相关产品推荐

