РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить