Laravel, проверьте целые числа с шагом 10

Я пытаюсь проверить число в laravel. Что должно произойти, так это то, что число может увеличиться только в 10 раз.

Например:

10:    Valid number
11:    invalid number
11,5:  invalid number
15:    invald number
20:    valid number
140:   valid number

Правило, которое я установил в своем запросе, выглядит так:

"amount" => ["required", "numeric", new UserHasPrivatePublicBalance(), "gte:10"],

Есть ли в Laravel встроенное правило для чего-то подобного? Или может кто-нибудь указать мне правильное направление, как проверить такую ​​​​вещь на простом PHP, чтобы я мог создать собственное правило?

Спасибо!

Возможно, вам потребуется создать собственное правило, где $number % 10 == 0, то есть число делится на 10.

aynber 01.03.2019 15:42

Ваша версия ларавеля?

Davit 01.03.2019 15:49

если вам нужен хакерский способ, вы можете сделать regex:/^\d+0$/, но он может не работать для запросов JSON, поскольку числа в JSON являются фактическими числами, а не числовыми строками.

apokryfos 01.03.2019 16:02
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
3
720
2

Ответы 2

Нет, для этого нет встроенного правила проверки, но чтобы проверить, делится ли число на 10, вы можете сделать:

if ($number % 10 != 0) {
  return false;
}

Оператор модуля % возвращает остаток от деления, поэтому результатом всегда будет 0, если число делится на 10.

https://laravel.com/docs/5.7/validation#using-closes

Для вашего случая

'amount' => [
    'required',
    'numeric',
    function ($attribute, $value, $fail) {
        if ($value % 10 !== 0) {
            $fail($attribute.' must be 10 divisible.'); // your message
        }
    },
],

Другие вопросы по теме