'require|checkExists', 'cost_date' => 'require|dateFormat:Y-m-d', 'media_channel_code' => 'require|checkMediaChannelCode', 'amount' => 'require|float|egt:0', 'remark' => 'max:255', ]; protected $message = [ 'id.require' => '参数缺失', 'cost_date.require' => '请选择日期', 'cost_date.dateFormat' => '日期格式错误', 'media_channel_code.require' => '请选择自媒体渠道', 'amount.require' => '请输入账户消耗金额', 'amount.float' => '账户消耗金额格式错误', 'amount.egt' => '账户消耗金额不能小于0', 'remark.max' => '备注不能超过255个字符', ]; public function sceneAdd() { return $this->remove('id', true); } public function sceneEdit() { return $this->remove('cost_date', true); } public function sceneDetail() { return $this->only(['id']); } public function sceneDelete() { return $this->only(['id']); } public function checkExists($value) { $model = AccountCost::find($value); if (!$model) { return '记录不存在'; } return true; } public function checkMediaChannelCode($value) { if (!MediaChannelService::isValidCode((string) $value)) { return '自媒体渠道不合法'; } return true; } }