/
Shamaeva2
/
coursework.local
Обзор
Документация
Войти
/
Shamaeva2
/
coursework.local
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
app/Http/Requests/StoreUserRequest.php
88 строк
5 KB
Шамаева Виктория Сергеевна
создание сущности студент
24 июн 2026, 11:08
24 июн 2026, 11:08
f502974
Код
Авторство
О чём код?
<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Validation\Rule; class StoreUserRequest 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 { return [ 'first_name' => ['required', 'string', 'max:255'], 'last_name' => ['required', 'string', 'max:255'], 'middle_name' => ['nullable', 'string', 'max:255'], 'login' => ['required', 'string', 'max:255', Rule::unique('users', 'login'),], 'email' => ['required', 'email', 'max:255', Rule::unique('users', 'email'),], 'tel' => ['required', 'string', 'max:20', Rule::unique('users', 'tel'),], 'password' => ['required', 'string', 'confirmed', 'min:8', 'max:255'], 'role' => ['required', 'string', 'in:student,employee,classroom_teacher,admin'] ]; } /** * 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' => 'Логин может содержать только буквы, цифры, дефис и подчеркивание', 'password.required' => 'Поле обязательно к заполнению.', 'password.string' => 'Поле должно иметь строковый тип.', 'password.min' => 'Пароль должен содержать минимум :min символов.', 'password.max' => 'Пароль не должен превышать :max символов.', 'password.confirmed' => 'Подтверждение пароля не совпадает.', 'role.required' => 'Поле "Роль" обязательно для заполнения', 'role.string' => 'Роль должна быть строкой', 'role.in' => 'Выбрана недопустимая роль. Доступны: student, employee, classroom_teacher, admin', ]; } }