РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
639 of 1392 menu

Правило ends_with

Правило ends_with используется при валидации данных форм в Laravel. Оно проверяет, что значение поля заканчивается на одну из переданных подстрок. Правило принимает список строк, которые должны являться окончанием значения.

Синтаксис

<?php 'field' => 'ends_with:foo,bar,baz' ?>

В качестве параметров передаются строки, на одну из которых должно заканчиваться значение поля.

Пример

Давайте проверим, что поле 'email' заканчивается на домен '@gmail.com':

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class UserController extends Controller { public function store(Request $request) { $rules = [ 'email' => 'required|ends_with:@gmail.com', ]; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return response()->json($validator->errors(), 422); } return response()->json(['message' => 'Valid email'], 200); } } ?>

Пример

Проверим, что поле 'filename' заканчивается на одно из допустимых расширений изображений:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class FileController extends Controller { public function upload(Request $request) { $rules = [ 'filename' => 'required|ends_with:.jpg,.png,.gif,.webp', ]; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { $res = $validator->errors()->first(); echo $res; return; } echo 'File uploaded successfully'; } } ?>

Результат выполнения кода при успешной валидации:

"File uploaded successfully"

Пример

Используем правило ends_with в классе FormRequest:

<?php namespace AppHttpRequests; use IlluminateFoundationHttpFormRequest; class ProductRequest extends FormRequest { public function authorize() { return true; } public function rules() { return [ 'sku' => 'required|ends_with:-XL,-L,-M,-S', 'name' => 'required|string|max:255', ]; } } ?>

Теперь в контроллере можно использовать этот запрос:

<?php namespace AppHttpControllers; use AppHttpRequestsProductRequest; class ProductController extends Controller { public function store(ProductRequest $request) { $validated = $request->validated(); echo 'Product validated'; // Сохранение продукта } } ?>

Пример

Проверим, что поле 'username' заканчивается на '_admin' или '_moderator':

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class AuthController extends Controller { public function login(Request $request) { $rules = [ 'username' => 'required|ends_with:_admin,_moderator', ]; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { echo 'Username must end with _admin or _moderator'; return; } echo 'Username is valid'; } } ?>

Результат выполнения кода при неверном имени пользователя:

"Username must end with _admin or _moderator"

Смотрите также

  • правило starts_with,
    которое проверяет начало строки
  • правило string,
    которое проверяет, что значение является строкой
  • правило regex,
    которое проверяет значение по регулярному выражению
  • правило required,
    которое проверяет наличие поля в запросе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить