Files
zyt/server/app/adminapi/validate/finance/AccountCostValidate.php
T
2026-04-23 15:43:22 +08:00

71 lines
1.7 KiB
PHP

<?php
declare(strict_types=1);
namespace app\adminapi\validate\finance;
use app\common\model\finance\AccountCost;
use app\common\service\qywx\MediaChannelService;
use app\common\validate\BaseValidate;
class AccountCostValidate extends BaseValidate
{
protected $rule = [
'id' => '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;
}
}