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

Правило numeric

Правило numeric используется для валидации полей формы, которые должны содержать числовое значение. Оно проверяет, что переданное значение является числом или строкой, представляющей число. Правило пропускает целые числа, числа с плавающей точкой и числа в экспоненциальной записи, но не пропускает строки с буквами или специальными символами.

Синтаксис

<?php 'field' => 'numeric' ?>

Пример

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

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class UserController extends Controller { public function store(Request $request) { $validator = Validator::make($request->all(), [ 'age' => 'numeric' ]); if ($validator->fails()) { $res = $validator->errors()->all(); } else { $res = "Validation passed"; } echo json_encode($res); } } ?>

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

"Validation passed"

Пример

Проверим, что поле 'price' содержит дробное число:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class ProductController extends Controller { public function update(Request $request) { $validator = Validator::make($request->all(), [ 'price' => 'numeric' ]); if ($validator->fails()) { $res = $validator->errors()->first('price'); } else { $res = "Validation passed"; } echo json_encode($res); } } ?>

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

"Validation passed"

Пример

Проверим, что поле 'score' содержит число в экспоненциальной записи:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class ScoreController extends Controller { public function store(Request $request) { $validator = Validator::make($request->all(), [ 'score' => 'numeric' ]); if ($validator->passes()) { $res = "Validation passed"; } else { $res = $validator->errors()->first('score'); } echo json_encode($res); } } ?>

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

"Validation passed"

Пример

Рассмотрим случай, когда валидация не проходит из-за нечислового значения:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class UserController extends Controller { public function store(Request $request) { $validator = Validator::make($request->all(), [ 'age' => 'numeric' ]); if ($validator->fails()) { $res = $validator->errors()->first('age'); } else { $res = "Validation passed"; } echo json_encode($res); } } ?>

Результат выполнения кода при передаче значения '25 years':

"The age must be a number"

Пример

Давайте скомбинируем правило numeric с другими правилами для более точной валидации:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class OrderController extends Controller { public function store(Request $request) { $validator = Validator::make($request->all(), [ 'amount' => 'required|numeric|min:1|max:9999.99', 'quantity' => 'required|numeric|integer' ]); if ($validator->fails()) { $res = $validator->errors()->all(); } else { $res = "Validation passed"; } echo json_encode($res); } } ?>

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

"Validation passed"

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

  • правило integer,
    которое проверяет, что значение является целым числом
  • правило decimal,
    которое проверяет, что значение является десятичным числом
  • правило min,
    которое проверяет минимальное значение поля
  • правило max,
    которое проверяет максимальное значение поля
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить