/
Shamaeva2
/
coursework.local
Обзор
Документация
Войти
/
Shamaeva2
/
coursework.local
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
app/Http/Requests/UpdateProfileRequest.php
81 строка
4 KB
Шамаева Виктория Сергеевна
аватар для пользователей
19 июн 2026, 14:19
19 июн 2026, 14:19
f0087d6
Код
Авторство
О чём код?
<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Validation\Rule; class UpdateProfileRequest extends FormRequest { /** * Determine if the user is authorized to make this request. */ public function authorize(): bool { return true; } /** * Get the validation rules that apply to the request. * * @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string> */ public function rules(): array { $userId = $this->user()?->id; return [ 'first_name' => ['required', 'string', 'max:255'], 'last_name' => ['required', 'string', 'max:255'], 'middle_name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'max:255', Rule::unique('users', 'email')->ignore($userId),], 'tel' => ['required', 'string', 'regex:/^(\+7|8)[\s\-]?\(?\d{3}\)?[\s\-]?\d{3}[\s\-]?\d{2}[\s\-]?\d{2}$/'], 'login' => ['nullable', 'string', 'max:255', Rule::unique('users', 'login')->ignore($userId),], 'avatar' => ['nullable', 'image', 'max:10240'], ]; } /** * Get the error messages for the defined validation rules. * * @return array<string, string> */ public function messages(): array { return [ 'first_name.required' => 'Поле "Имя" обязательно для заполнения', 'first_name.string' => 'Поле "Имя" должно быть строкой', 'first_name.max' => 'Поле "Имя" не может превышать 255 символов', 'first_name.regex' => 'Имя может содержать только буквы и дефис', 'last_name.required' => 'Поле "Фамилия" обязательно для заполнения', 'last_name.string' => 'Поле "Фамилия" должно быть строкой', 'last_name.max' => 'Поле "Фамилия" не может превышать 255 символов', 'last_name.regex' => 'Фамилия может содержать только буквы и дефис', 'middle_name.required' => 'Поле "Отчество" обязательно для заполнения', 'middle_name.string' => 'Поле "Отчество" должно быть строкой', 'middle_name.max' => 'Поле "Отчество" не может превышать 255 символов', 'middle_name.regex' => 'Отчество может содержать только буквы и дефис', 'email.required' => 'Поле "Email" обязательно для заполнения', 'email.string' => 'Поле "Email" должно быть строкой', 'email.email' => 'Введите корректный email адрес (например, user@example.com)', 'email.max' => 'Поле "Email" не может превышать 255 символов', 'email.unique' => 'Этот email уже зарегистрирован в системе', 'tel.required' => 'Поле "Телефон" обязательно для заполнения', 'tel.string' => 'Поле "Телефон" должно быть строкой', 'tel.regex' => 'Введите российский номер телефона в формате +7(123)456-78-90 или 8(123)456-78-90', 'login.required' => 'Поле "Логин" обязательно для заполнения', 'login.string' => 'Поле "Логин" должно быть строкой', 'login.max' => 'Поле "Логин" не может превышать 255 символов', 'login.unique' => 'Этот логин уже занят, выберите другой', 'login.regex' => 'Логин может содержать только буквы, цифры, дефис и подчеркивание', 'avatar.image' => 'Загрузите изображение в одном из следующих форматов: jpg, png, bmp, gif, svg, webp.', 'avatar.max' => 'Максимальный размер изображения - 10 МБ.', ]; } }