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

Правило decimal

Правило decimal применяется к полям формы для валидации десятичных чисел. Оно проверяет, что значение является числом с плавающей точкой и имеет указанное количество знаков после запятой. Первым параметром передаётся количество десятичных знаков. Можно передать несколько параметров для указания допустимого диапазона знаков.

Синтаксис

<?php 'field' => 'decimal:digits' 'field' => 'decimal:min_digits,max_digits' ?>

Пример

Проверим поле 'price', которое должно содержать десятичное число с двумя знаками после запятой:

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

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

"Product created successfully"

Если отправить данные со значением 'price' равным 10.5:

["The price field must have 2 decimal places."]

Пример

Проверим поле 'amount', которое должно содержать десятичное число с количеством знаков от одного до трёх после запятой:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class OrderController extends Controller { public function store(Request $request) { $validator = Validator::make($request->all(), [ 'amount' => 'decimal:1,3', ]); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()], 422); } return response()->json(['message' => 'Order processed successfully']); } } ?>

Результат выполнения кода при отправке формы с полем 'amount' равным 99.9:

"Order processed successfully"

Если отправить данные со значением 'amount' равным 50.1234:

["The amount field must have between 1 and 3 decimal places."]

Пример

Используем правило decimal в классе FormRequest для валидации десятичного поля 'weight':

<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class ProductRequest extends FormRequest { public function authorize(): bool { return true; } public function rules(): array { return [ 'weight' => 'required|decimal:2', 'name' => 'required|string|max:255', 'price' => 'required|numeric', ]; } } ?>

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

"Product validated successfully"

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

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