first commit

This commit is contained in:
2026-03-11 22:04:36 +04:00
commit bae063a4fa
69 changed files with 12411 additions and 0 deletions
@@ -0,0 +1,64 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class RegisterGameAccountRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
/**
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'username' => ['required', 'string', 'min:3', 'max:32', 'regex:/^[A-Za-z0-9]+$/'],
'email' => ['required', 'string', 'email:rfc', 'max:255'],
'password' => ['required', 'string', 'min:8', 'max:32', 'confirmed', 'regex:/^(?=.*[A-Za-z])(?=.*\d).+$/'],
'terms' => ['accepted'],
];
}
/**
* @return array<string, string>
*/
public function messages(): array
{
return [
'username.required' => 'Укажи логин аккаунта.',
'username.string' => 'Логин должен быть строкой.',
'username.min' => 'Логин должен содержать минимум 3 символа.',
'username.max' => 'Логин не должен быть длиннее 32 символов.',
'username.regex' => 'Логин может содержать только латинские буквы и цифры.',
'email.required' => 'Укажи email для аккаунта.',
'email.string' => 'Email должен быть строкой.',
'email.email' => 'Укажи корректный email адрес.',
'email.max' => 'Email не должен быть длиннее 255 символов.',
'password.required' => 'Укажи пароль.',
'password.string' => 'Пароль должен быть строкой.',
'password.min' => 'Пароль должен содержать минимум 8 символов.',
'password.max' => 'Пароль не должен быть длиннее 32 символов.',
'password.confirmed' => 'Подтверждение пароля не совпадает.',
'password.regex' => 'Пароль должен содержать хотя бы одну букву и одну цифру.',
'terms.accepted' => 'Нужно принять правила сервера и пользовательское соглашение.',
];
}
/**
* @return array<string, string>
*/
public function attributes(): array
{
return [
'username' => 'логин аккаунта',
'email' => 'email',
'password' => 'пароль',
'terms' => 'правила',
];
}
}