Files
lotteryLaravel/app/Http/Requests/Ticket/TicketBetRequest.php
kang cbb18b976f
Some checks failed
lotterLaravel CI / test (push) Has been cancelled
lotterLaravel E2E / e2e-api (push) Has been cancelled
feat(lottery): 扩展传统马来赔率、玩法结算与开注商短码支持
2026-07-10 17:04:28 +08:00

37 lines
1.4 KiB
PHP

<?php
namespace App\Http\Requests\Ticket;
use App\Http\Requests\ApiFormRequest;
abstract class TicketBetRequest extends ApiFormRequest
{
public function authorize(): bool
{
return true;
}
/**
* @return array<string, mixed>
*/
public function rules(): array
{
return [
'draw_id' => ['required', 'string', 'max:32'],
'currency_code' => ['required', 'string', 'max:16'],
'client_trace_id' => ['nullable', 'string', 'max:64'],
'provider_codes' => ['nullable', 'array', 'min:1', 'max:16'],
'provider_codes.*' => ['required', 'string', 'max:32', 'regex:/^[A-Za-z0-9_-]+$/'],
'lines' => ['required', 'array', 'min:1', 'max:100'],
'lines.*.number' => ['required', 'string', 'max:32'],
'lines.*.play_code' => ['required', 'string', 'max:32'],
'lines.*.amount' => ['required', 'integer', 'min:1'],
'lines.*.provider_codes' => ['nullable', 'array', 'min:1', 'max:16'],
'lines.*.provider_codes.*' => ['required', 'string', 'max:32', 'regex:/^[A-Za-z0-9_-]+$/'],
'lines.*.digit_slot' => ['nullable', 'integer', 'min:0', 'max:3'],
'lines.*.dimension' => ['nullable', 'string', 'in:D2,D3,D4'],
'lines.*.selection_type' => ['nullable', 'string', 'in:straight,reverse,full_cover,full_play,half_play'],
];
}
}