'required|array|min:1', 'updates.*.product_id' => 'required|integer|exists:product,id', 'updates.*.level_id' => 'required|integer|exists:customer_level,id', 'updates.*.price' => 'required|numeric|min:0', ]; } public function messages(): array { return [ 'updates.required' => '请至少提交一条价格调整', 'updates.min' => '请至少提交一条价格调整', 'updates.*.product_id.required' => '调价行缺少商品', 'updates.*.product_id.exists' => '商品不存在', 'updates.*.level_id.required' => '调价行缺少客户等级', 'updates.*.level_id.exists' => '客户等级不存在', 'updates.*.price.required' => '调价行缺少单价', 'updates.*.price.numeric' => '单价必须为数字', 'updates.*.price.min' => '单价不能小于 0', ]; } }