www.maiwd.cn // +---------------------------------------------------------------------- namespace app\api\validate\wdsxh\activity; use app\api\model\wdsxh\activity\Activity; use think\Validate; /** * Class ActivityApply * Desc 活动申请校验 * Create on 2024/3/12 10:07 * Create by wangyafang */ class ActivityApply extends Validate { /** * 验证规则 */ protected $rule = [ 'activity_id'=>'require|checkActivityExist|checkData', ]; /** * 提示消息 */ protected $message = [ 'activity_id.require'=>'活动id不能为空', ]; /** * 验证场景 */ protected $scene = [ 'apply' => ['activity_id'], ]; protected function checkActivityExist($value,$rule,$data) { $avtivityObj = (new Activity())->get($value); if (!$avtivityObj) { return '活动不存在'; } return true; } protected function checkData($value, $rule, $data) { if (isset($data['data']) && !empty($data['data'])) { $array = $data['data']; foreach ($array as $row) { if ($row['required'] == 1 && ($row['value'] === '' || $row['value'] === null)) { if ($row['type'] == 'select' || $row['type'] == 'checkbox') { return $row['option'] . '至少选择一个'; } else { return $row['option']; } } if ($row['field'] == 'email') { if (!$value || !\think\Validate::is($row['value'], 'email')) { return '邮箱格式不正确'; } } if ($row['field'] == 'mobile') { if (!$value || !\think\Validate::regex($row['value'], "^1\d{10}$")) { return '手机号格式不正确'; } } } } return true; } }