Чтобы проверить неотрицательное целое число в 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
}