| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | <?phpnamespace app\api\validate;use think\Validate;class Lottery extends Validate{    /**     * 验证规则     */    protected $rule = [        'lottery_id'           => 'require|integer|gt:0',        'lottery_id_optional'  => 'integer|gt:0',  // 可选的lottery_id        'page'                  => 'integer|egt:1',        'limit'                 => 'integer|between:1,100',        'status'                => 'integer|in:0,1,2,3',        'type'                  => 'array|length:1,10',  // 奖品类型,数组且每个元素为整型        'type.*'                 => 'integer|length:1,10',  // 奖品类型,数组且每个元素为整型        'win_record_id'         => 'require|integer|gt:0',        'receiver_name'         => 'require|length:2,20|chsAlphaNum',        'receiver_mobile'       => 'require|regex:/^1[3-9]\d{9}$/',        'receiver_address'      => 'require|length:10,200',        'province'              => 'length:1,50',        'city'                  => 'length:1,50',        'district'              => 'length:1,50',        'detail_address'        => 'require|length:5,100'    ];    /**     * 提示消息     */    protected $message = [        'lottery_id.require'           => '活动ID不能为空',        'lottery_id.integer'           => '活动ID必须是整数',        'lottery_id.gt'                => '活动ID必须大于0',        'lottery_id_optional.integer'  => '活动ID必须是整数',        'lottery_id_optional.gt'       => '活动ID必须大于0',        'page.integer'              => '页码必须是整数',        'page.egt'                  => '页码必须大于等于1',        'limit.integer'             => '每页数量必须是整数',        'limit.between'             => '每页数量必须在1-100之间',        'status.integer'            => '状态必须是整数',        'status.in'                 => '状态值不正确',        'type.array'                => '奖品类型必须是数组格式',        'type.*.integer'            => '奖品类型数组中的每个元素必须是整型',        'type.*.length'             => '奖品类型数组中的每个元素长度必须在1-10之间',        'win_record_id.require'     => '中奖记录ID不能为空',        'win_record_id.integer'     => '中奖记录ID必须是整数',        'win_record_id.gt'          => '中奖记录ID必须大于0',        'receiver_name.require'     => '收货人姓名不能为空',        'receiver_name.length'      => '收货人姓名长度必须在2-20个字符之间',        'receiver_name.chsAlphaNum' => '收货人姓名只能包含中文、字母和数字',        'receiver_mobile.require'   => '收货人手机号不能为空',        'receiver_mobile.regex'     => '收货人手机号格式不正确',        'receiver_address.require'  => '收货地址不能为空',        'receiver_address.length'   => '收货地址长度必须在10-200个字符之间',        'province.length'           => '省份名称不能超过50个字符',        'city.length'               => '城市名称不能超过50个字符',        'district.length'           => '区县名称不能超过50个字符',        'detail_address.require'    => '详细地址不能为空',        'detail_address.length'     => '详细地址长度必须在5-100个字符之间'    ];    /**     * 验证场景     */    protected $scene = [        // 获取活动列表(所有参数都可选)        'activityList'          => ['page', 'limit', 'status'],        // 获取活动详情(lottery_id必填)        'activityDetail'        => ['lottery_id'],        // 执行抽奖(lottery_id必填)        'draw'                  => ['lottery_id'],        // 获取用户抽奖机会(lottery_id必填)        'getUserChances'        => ['lottery_id'],        // 获取用户抽奖记录(   可选,page和limit可选)        'getDrawRecords'        => ['lottery_id_optional', 'page', 'limit'],        // 获取用户中奖记录(page和limit可选)        'getWinRecords'         => ['page', 'limit'],        // 设置中奖记录收货地址(所有地址相关字段必填)        'setWinRecordAddress'   => ['win_record_id', 'receiver_name', 'receiver_mobile', 'receiver_address'],        // 设置详细收货地址(包含省市区)        'setDetailAddress'      => ['win_record_id', 'receiver_name', 'receiver_mobile', 'province', 'city', 'district', 'detail_address'],        // 获取活动排行榜(lottery_id必填,page和limit可选)        'getRanking'            => ['lottery_id', 'page', 'limit'],        // 获取奖品列表(lottery_id可选,page、limit、type可选)        'getPrizes'             => ['lottery_id_optional', 'page', 'limit', 'type']    ];} 
 |