Blame view
app/Http/Requests/PagesRequest.php
3.32 KB
486a3601d Должности и работ... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class PagesRequest extends FormRequest { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { |
5b2dcf44b Редактор страниц ... |
16 |
return true; |
486a3601d Должности и работ... |
17 18 19 20 21 22 23 24 25 |
} /** * Get the validation rules that apply to the request. * * @return array<string, mixed> */ public function rules() { |
5b2dcf44b Редактор страниц ... |
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
$unique = 'unique:pages,slug'; if (in_array($this->route()->getName(), ['admin.update-page'])) { // получаем модель Pages через маршрут admin/editor-pages/edit/{page} $model = $this->route('page'); /* * Проверка на уникальность slug, исключая этот пост по идентификатору: * 1. posts - таблица базы данных, где проверяется уникальность * 2. slug - имя колонки, уникальность значения которой проверяется * 3. значение по которому из проверки исключается запись таблицы БД * 4. поле, по которому из проверки исключается запись таблицы БД * Для проверки будет использован такой SQL-запрос к базе данных: * SELECT COUNT(*) FROM `pages` WHERE `slug` = '...' AND `id` <> 17 */ $unique = 'unique:pages,slug,'.$model->id.',id'; } |
486a3601d Должности и работ... |
41 |
return [ |
5b2dcf44b Редактор страниц ... |
42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
'name' => [ 'required', 'string', 'min:3', 'max:255', ], 'slug' => [ 'required', 'max:255', $unique, 'regex:~^[-_a-z0-9]+$~i', ], 'anons' => [ 'required', |
d152a3a68 Создание основных... |
56 |
'min:50', |
5b2dcf44b Редактор страниц ... |
57 58 59 |
], 'text' => [ 'required', |
d152a3a68 Создание основных... |
60 |
'min:255', |
5b2dcf44b Редактор страниц ... |
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
], 'image' => [ 'mimes:jpeg,jpg,png', 'max:15000' ], ]; } public function messages() { return [ 'required' => 'Поле :attribute обязательно для ввода', 'unique' => 'Поле :attribute должно быть уникальным', 'mimes' => 'Допускаются файлы только с расширением jpeg,jpg,png', 'min' => [ 'string' => 'Поле «:attribute» должно быть не меньше :min символов', 'integer' => 'Поле «:attribute» должно быть :min или больше', 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт' ], 'max' => [ 'string' => 'Поле «:attribute» должно быть не больше :max символов', 'integer' => 'Поле «:attribute» должно быть :max или меньше', 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт' ], |
486a3601d Должности и работ... |
85 86 87 |
]; } } |