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

Правило same

Правило same проверяет, совпадает ли значение проверяемого поля со значением указанного поля. Оно часто применяется для подтверждения ввода, например, при повторном вводе пароля или email. Правило принимает один параметр - имя поля, с которым сравнивается значение.

Синтаксис

<?php $rules = [ 'field_name' => 'same:other_field', ]; ?>

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

Пример

Давайте проверим, что поле 'password' совпадает с полем 'password_confirmation':

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class AuthController extends Controller { public function register(Request $request) { $rules = [ 'password' => 'required|string|min:8', 'password_confirmation' => 'required|same:password', ]; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return $validator->errors(); } return 'Validation passed'; } } ?>

Результат выполнения кода при несовпадающих паролях:

["The password confirmation does not match."]

Результат выполнения кода при совпадающих паролях:

"Validation passed"

Пример

Проверим совпадение полей 'email' и 'email_confirmation':

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class UserController extends Controller { public function updateEmail(Request $request) { $validator = Validator::make($request->all(), [ 'email' => 'required|email', 'email_confirmation' => 'required|same:email', ]); if ($validator->fails()) { return response()->json($validator->errors(), 422); } return response()->json('Email confirmed successfully'); } } ?>

Результат выполнения кода при несовпадающих email:

["The email confirmation does not match."]

Пример

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

<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class RegisterRequest extends FormRequest { public function authorize() { return true; } public function rules() { return [ 'name' => 'required|string|max:255', 'email' => 'required|email|unique:users', 'password' => 'required|min:8|confirmed', ]; } } ?>

Обратите внимание, что правило confirmed автоматически создаёт правило same для поля 'password_confirmation'. Это эквивалентно записи:

<?php $rules = [ 'password' => 'required|min:8', 'password_confirmation' => 'required|same:password', ]; ?>

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

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