GreaterThan

Validates that a value is greater than another value, defined in the options. To force that a value is greater than or equal to another value, see GreaterThanOrEqual. To force a value is less than another value, see LessThan.

オプションで定義された値が別の値より大きいことを検証します。値が別の値以上であることを強制するには、GreaterThanOrEqual を参照してください。ある値が別の値より小さいことを強制するには、LessThan を参照してください。

Basic Usage

The following constraints ensure that:

次の制約により、次のことが保証されます。
  • the number of siblings of a Person is greater than 5
    Person の兄弟の数が 5 より大きい
  • the age of a Person class is greater than 18
    Person クラスの年齢が 18 歳以上
  • Attributes
    属性
  • YAML
    YAML
  • XML
    XML
  • PHP
    PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// src/Entity/Person.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Person
{
    #[Assert\GreaterThan(5)]
    protected $siblings;

    #[Assert\GreaterThan(
        value: 18,
    )]
    protected $age;
}

Comparing Dates

This constraint can be used to compare DateTime objects against any date string accepted by the DateTime constructor. For example, you could check that a date must at least be the next day:

この制約を使用して、DateTime オブジェクトを、DateTime コンストラクターによって受け入れられる任意の日付文字列と比較できます。たとえば、日付が少なくとも翌日でなければならないことを確認できます。
  • Attributes
    属性
  • YAML
    YAML
  • XML
    XML
  • PHP
    PHP
1
2
3
4
5
6
7
8
9
10
// src/Entity/Order.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Order
{
    #[Assert\GreaterThan('today')]
    protected $deliveryDate;
}

Be aware that PHP will use the server's configured timezone to interpret these dates. If you want to fix the timezone, append it to the date string:

PHP はサーバーの設定されたタイムゾーンを使用してこれらの日付を解釈することに注意してください。タイムゾーンを修正する場合は、日付文字列に追加します。
  • Attributes
    属性
  • YAML
    YAML
  • XML
    XML
  • PHP
    PHP
1
2
3
4
5
6
7
8
9
10
// src/Entity/Order.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Order
{
    #[Assert\GreaterThan('today UTC')]
    protected $deliveryDate;
}

The DateTime class also accepts relative dates or times. For example, you can check that the above delivery date starts at least five hours after the current time:

DateTime クラスは、相対的な日付または時刻も受け入れます。たとえば、上記の配送日が現在時刻の少なくとも 5 時間後に開始することを確認できます。
  • Attributes
    属性
  • YAML
    YAML
  • XML
    XML
  • PHP
    PHP
1
2
3
4
5
6
7
8
9
10
// src/Entity/Order.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Order
{
    #[Assert\GreaterThan('+5 hours')]
    protected $deliveryDate;
}

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 greater than {{ compared_value }}.

タイプ: 文字列 デフォルト: この値は {{ 比較値 }} より大きい必要があります。

This is the message that will be shown if the value is not greater than the comparison value.

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

You can use the following parameters in this message:

このメッセージでは、次のパラメーターを使用できます。
Parameter Description
{{ compared_value }} The lower limit
{{ compared_value_type }} The expected value type
{{ value }} The current (invalid) 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.

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