DivisibleBy

Validates that a value is divisible by another value, defined in the options.

オプションで定義された値が別の値で割り切れることを検証します。

See also

こちらもご覧ください

If you need to validate that the number of elements in a collection is divisible by a certain number, use the Count constraint with the divisibleBy option.

コレクション内の要素の数が特定の数で割り切れることを検証する必要がある場合は、countconstraint を divisibleBy オプションと共に使用します。

Basic Usage

The following constraints ensure that:

次の制約により、次のことが保証されます。
  • the weight of the Item is provided in increments of 0.25
    アイテムの重量は 0.25 単位で提供されます
  • the quantity of the Item must be divisible by 5
    アイテムの数量は 5 で割り切れる必要があります
  • Attributes
    属性
  • YAML
    YAML
  • XML
    XML
  • PHP
    PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 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,
    )]
    protected $quantity;
}

Options

groups

type: array | string

タイプ: 配列 |ストリング

It defines the validation group or groups of this constraint. Read more about validation groups.

この制約の検証グループを定義します。検証グループの詳細を参照してください。

message

type: string default: This value should be a multiple of {{ compared_value }}.

タイプ: 文字列 デフォルト: この値は {{ 比較値 }} の倍数である必要があります。

This is the message that will be shown if the value is not divisible by the comparison value.

これは、値が比較値で割り切れない場合に表示されるメッセージです。

payload

type: mixed default: null

タイプ: 混合 デフォルト: null

This option can be used to attach arbitrary domain-specific data to a constraint. The configured payload is not used by the Validator component, but its processing is completely up to you.

このオプションは、任意のドメイン固有のデータを制約に添付するために使用できます。構成されたペイロードは Validator コンポーネントによって使用されませんが、その処理は完全にユーザー次第です。

For example, you may want to use several error levels to present failed constraints differently in the front-end depending on the severity of the error.

たとえば、いくつかのエラー レベルを使用して、エラーの重大度に応じて、失敗した制約をフロントエンドで異なる方法で提示することができます。

propertyPath

type: string

タイプ: 文字列

It defines the object property whose value is used to make the comparison.

比較に使用される値を持つオブジェクト プロパティを定義します。

For example, if you want to compare the $endDate property of some object with regard to the $startDate property of the same object, use propertyPath="startDate" in the comparison constraint of $endDate.

たとえば、あるオブジェクトの $endDate プロパティを同じオブジェクトの $startDate プロパティと比較する場合、$endDate の比較制約でpropertyPath="startDate" を使用します。

Tip

ヒント

When using this option, its value is available in error messages as the {{ compared_value_path }} placeholder. Although it's not intended to include it in the error messages displayed to end users, it's useful when using APIs for doing any mapping logic on client-side.

このオプションを使用する場合、その値はエラー メッセージで {{比較値パス}} プレースホルダーとして利用できます。エンド ユーザーに表示されるエラー メッセージに含めることは意図されていませんが、クライアント側でマッピング ロジックを実行するために API を使用する場合に役立ちます。

value

type: mixed [default option]

タイプ: 混合 [デフォルト オプション]

This option is required. It defines the comparison value. It can be a string, number or object.

このオプションは必須です。比較値を定義します。文字列、数値、またはオブジェクトにすることができます。