Проверка неотрицательных целых чисел в Laravel с помощью примеров кода

Чтобы проверить неотрицательное целое число в Laravel, вы можете использовать различные методы. Вот несколько примеров:

Метод 1: использование правил проверки Laravel

$rules = [
    'number' => 'required|integer|min:0',
];
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
    // Validation failed
} else {
    // Validation passed
}

Метод 2: использование регулярных выражений

$pattern = '/^\d+$/'; // Matches one or more digits
$number = '123'; // The number to validate
if (preg_match($pattern, $number)) {
    // Validation passed
} else {
    // Validation failed
}

Метод 3: использование специального правила проверки
Сначала создайте собственное правило проверки, выполнив следующую команду в каталоге проекта Laravel:

php artisan make:rule NonNegativeInteger

При этом будет создан новый файл NonNegativeInteger.phpв каталоге app/Rules. Откройте этот файл и обновите его следующим образом:

<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
class NonNegativeInteger implements Rule
{
    public function passes($attribute, $value)
    {
        return is_numeric($value) && $value >= 0;
    }
    public function message()
    {
        return 'The :attribute must be a non-negative integer.';
    }
}

После создания специального правила вы можете использовать его в своей логике проверки:

$rules = [
    'number' => ['required', 'numeric', new \App\Rules\NonNegativeInteger],
];
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
    // Validation failed
} else {
    // Validation passed
}