["required","integer"], "carrier_bill" => ["required","string","max:50"], "inquire_tel" => ["required","string","max:20"], "amount" => ["required","integer","min:1"], "amount_unit_name" => ["required",Rule::in(["件","托"])], "carrier_weight_other" => ["required_without_all:carrier_weight,carrier_weight_other","numeric","min:0.01"], "carrier_weight" => ["required_without_all:carrier_weight,carrier_weight_other","numeric","min:0.01"], "subjoin_fee" => ["nullable","string"], ]; } public function attributes():array { return [ "carrier_bill" => "物流单号", "inquire_tel" => "查件电话", "amount" => "数量", "amount_unit_name" => "数量单位", "carrier_weight_other" => "重量", "carrier_weight" => "体积", "subjoin_fee" => "附加费", ]; } /** * Handle a failed validation attempt. * * @param Validator $validator * @return void */ protected function failedValidation(Validator $validator) { $this->response($validator->errors(),400,"数据校验失败"); } /** * @throws ValidationException */ public function validated():array { $param = $this->validator->validated(); $unit = app("UnitService")->getUnit($param["amount_unit_name"]); $param["amount_unit_id"] = $unit->id; unset($param["amount_unit_name"]); unset($param["id"]); return $param; } }