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

Правило declined

Правило declined применяется к полям формы для проверки, что переданное значение является отрицательным или обозначает отказ. Оно проходит валидацию для значений 'no', 'off', 0, false и '0'. Это правило часто используется для полей-флажков (чекбоксов), которые в HTML передают значение только при отметке.

Синтаксис

<?php $rules = [ 'field_name' => 'declined', ]; ?>

Пример

Давайте создадим валидацию для поля согласия с условиями использования:

<?php namespace AppHttpControllers; use AppHttpRequests\UserRequest; use IlluminateHttpRequest; class UserController extends Controller { public function store(Request $request) { $validated = $request->validate([ 'agree' => 'declined', ]); return $validated; } } ?>

Если пользователь отправит agree со значением 'on', валидация пройдёт успешно. Если поле agree будет отсутствовать, или его значение будет 'yes', валидация не пройдёт.

Пример

Рассмотрим работу правила declined в FormRequest с кастомным сообщением:

<?php namespace AppHttpRequests; use IlluminateFoundationHttpFormRequest; class SettingRequest extends FormRequest { public function authorize() { return true; } public function rules() { return [ 'enable_notifications' => 'declined', ]; } public function messages() { return [ 'enable_notifications.declined' => 'Вы должны отключить уведомления.', ]; } } ?>

Пример

Правило declined можно комбинировать с другими правилами валидации:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class ProfileController extends Controller { public function update(Request $request) { $validator = Validator::make($request->all(), [ 'email' => 'required|email', 'subscribe' => 'declined', 'role' => 'required|in:user,admin', ]); if ($validator->fails()) { return response()->json($validator->errors(), 422); } return response()->json(['success' => true]); } } ?>

Пример

Правило declined можно использовать для проверки отказа от участия в акции:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; class PromoController extends Controller { public function subscribe(Request $request) { $validated = $request->validate([ 'promo_opt_out' => 'declined', 'email' => 'required|email', ]); $res = [ 'status' => 'opt-out confirmed', 'email' => $validated['email'], ]; return response()->json($res); } } ?>

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

{ "status": "opt-out confirmed", "email": "user@example.com" }

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

  • правило accepted,
    которое проверяет, что значение поля равно 'yes', 'on' или 1
  • правило required,
    которое проверяет наличие поля в запросе
  • правило boolean,
    которое проверяет, что значение поля является булевым
  • правило nullable,
    которое позволяет полю принимать значение null
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить