Способы валидации
Передача данных для валидации написано на странице Создание формы и валидация.
$request->validate([ # строка 'code' => 'alpha', // только буквы (пробелы нельзя) 'code' => 'alpha_num', // только буквы и числа (пробелы нельзя) 'slug' => 'alpha_dash', // только буквы, числа, тире и нижнее подчёркивание (пробелы нельзя) 'active' => 'boolean', // 1, 0, true или false 'title' => 'size:5', // должно быть 5 символов 'title' => 'min:3', // должно быть минимум 3 символа 'title' => 'max:255', // должно быть максимум 255 символов 'title' => 'between:3,255', // кол-во символов должно быть между 5 и 255 # формат строки 'page' => 'url', // ссылка, например http://know-online.com/ 'send' => 'email', // почта, например mail@know-online.com 'user' => 'ip', // IP-адрес пользователя (IPv4 или IPv6) # числа 'count' => 'integer', // только числа (пробелы нельзя) 'count' => 'numeric', // только числа (пробелы нельзя) 'zip' => 'digits:6', // должно быть 6 цифр 'number' => 'digits_between:4,6', // должно быть 4, 5 или 6 цифр 'number' => 'gte:5', // значение должно быть больше или равно «5» 'number' => 'lte:5', // значение должно быть меньше или равно «5» # дата 'expire' => 'nullable|date', // дата (например 2019-07-23) 'start_date' => 'date|after:today', // указанная дата должна быть больше текущей даты 'end_date' => 'date|after:start_date', // дата должна быть больше даты из параметра "start_date" 'start_date' => 'date|before:today', // указанная дата должна быть меньше текущей даты # загрузка файлов (картинки) 'avatar' => 'dimensions:min_width=100,min_height=200', // минимальная ширина и высота 'avatar' => 'dimensions:max_width=100,max_height=200', // максимальная ширина и высота 'avatar' => 'dimensions:width=100,height=200', // ширина и высота изображения 'avatar' => 'image', // файл должен быть картинкой (jpeg, png, bmp, gif, svg или webp) 'avatar' => 'mimetypes:image/jpeg,image/png', // поддерживаемые MIME файла (image/jpeg, image/png) # другое 'title' => 'required', // поле обязательно для заполнения 'pass_verify' => 'same:password', // текущее поле должно совпадать с указанным полем 'agreed' => 'accepted', // чекбокс отмечен ]);
Для одного поля можно передавать несколько параметров, разделённые через символ «|».
'title' => 'required|max:255',
Поддержать автора