'require|integer|checkUserAddress', 'contact' => 'require', 'mobile' => 'require|mobile', 'province_id' => 'require', 'city_id' => 'require', 'district_id' => 'require', 'address' => 'require', // 'is_default' => 'require', ]; protected $message = [ 'id.require' => '参数缺失', 'id.integer' => '参数类型错误', 'contact.require' => '收货人不能为空', 'mobile.require' => '联系方式不能为空', 'mobile.mobile' => '非有效手机号', 'province_id.require' => '所选地区不能为空', 'city_id.require' => '请选择完整地址', 'district_id.require' => '请选择完整地址', 'address.require' => '详细地址不能为空', // 'is_default.require' => '是否默认不能为空', 'province.require' => '省不能为空', 'city.require' => '市不能为空', 'district.require' => '区不能为空', ]; public function sceneAdd() { return $this->remove('id', ['require']); } public function sceneEdit() { return $this; } public function sceneDel() { return $this->only(['id']); } public function sceneDetail() { return $this->only(['id']); } public function sceneSet() { return $this->only(['id']); } public function sceneHandleRegion() { return $this->only(['province', 'city', 'district']) ->append('province', 'require') ->append('city', 'require') ->append('district', 'require'); } /** * @notes 验证收货地址信息 * @param $value * @param $rule * @param $data * @return bool|string * @author 段誉 * @date 2021/7/22 14:40 */ public function checkUserAddress($value, $rule, $data) { $userAddress = UserAddress::where([ 'id' => $value, 'user_id' => $data['user_id'] ])->findOrEmpty(); if ($userAddress->isEmpty()) { return '地址信息错误'; } return true; } }