| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- namespace App\Http\Requests\Api;
- use App\Http\Requests\AndroidGateRequest;
- use Illuminate\Contracts\Validation\Validator;
- use Illuminate\Validation\Rule;
- use Illuminate\Validation\ValidationException;
- class WaybillDispatch extends AndroidGateRequest
- {
- public function rules():array
- {
- return [
- "id" => ["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;
- }
- }
|