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

Правило digits

Правило digits используется для проверки того, что значение поля состоит ровно из указанного количества цифр. Это строгое правило не допускает наличия букв, знаков препинания, пробелов или других символов. Первым и единственным параметром передаётся целое число - требуемая длина значения.

Синтаксис

<?php use Illuminate\Validation\Rule; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; $validator = Validator::make($request->all(), [ 'field' => 'digits:length' ]); ?>

Пример

Проверим, что поле 'phone' содержит ровно 11 цифр (номер телефона):

<?php use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; $request = new Request(); $request->merge(['phone' => '12345678901']); $validator = Validator::make($request->all(), [ 'phone' => 'digits:11' ]); if ($validator->fails()) { echo 'Validation failed: ' . $validator->errors()->first('phone'); } else { echo 'Validation passed!'; } ?>

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

"Validation passed!"

Пример

Проверим поле 'code' на соответствие 6 цифрам. Если значение будет содержать буквы или меньше 6 символов, валидация не пройдёт:

<?php use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; $request = new Request(); $request->merge(['code' => 'abc123']); $validator = Validator::make($request->all(), [ 'code' => 'digits:6' ]); if ($validator->fails()) { echo 'Validation failed: ' . $validator->errors()->first('code'); } else { echo 'Validation passed!'; } ?>

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

"Validation failed: The code must be 6 digits."

Пример

Использование правила digits в контроллере для валидации банковского счёта:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class AccountController extends Controller { public function store(Request $request) { $validator = Validator::make($request->all(), [ 'account_number' => 'required|digits:20' ]); if ($validator->fails()) { return response()->json([ 'errors' => $validator->errors() ], 422); } return response()->json([ 'message' => 'Account created successfully' ]); } } ?>

Пример

Проверка поля 'zip_code' на 5 цифр с выводом кастомного сообщения об ошибке:

<form method="POST" action="/submit"> @csrf <input type="text" name="zip_code" placeholder="Enter zip code"> @error('zip_code') <div style="color:red;">{{ $message }}</div> @enderror <button type="submit">Submit</button> </form>
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class FormController extends Controller { public function submit(Request $request) { $validator = Validator::make($request->all(), [ 'zip_code' => 'digits:5' ], [ 'zip_code.digits' => 'The zip code must contain exactly 5 digits.' ]); if ($validator->fails()) { return back()->withErrors($validator)->withInput(); } return redirect()->back()->with('success', 'Form submitted!'); } } ?>

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

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