Предоставлено
Колином О’Деллом
в #28069.

В Symfony 4.2 Компонент Validator ввел новое ограничение DivisibleBy для проверки того, является ли одно число кратным ('делится на') другому числу. Это в основном полезно для обеспечения определенных приращений числа:

// src/Entity/Item.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;

class Item
{
    /**
     * @Assert\DivisibleBy(0.25)
     */
    protected $weight;

    /**
     * @Assert\DivisibleBy(
     *     value = 5,
     *     message = "This item requires to be stocked in multiples of 5 units."
     * )
     */
    protected $quantity;
}

Эти ограничения гарантируют, что weight из Item предоставляется с шагом 0.25 (например, 0.75 и 4.50 будут правильными, а 0.18 или 7.32 — нет), а quantity должно делиться на 5 (25 и 22,620 будут правильными, но 12 или 123,456 не стал бы).