LessThanOrEqual

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

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

Basic Usage

The following constraints ensure that:

次の制約により、次のことが保証されます。
  • the number of siblings of a Person is less than or equal to 5
    Person の兄弟の数は 5 以下です
  • the age is less than or equal to 80
    年齢が80歳以下
  • 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\LessThanOrEqual(5)]
    protected $siblings;

    #[Assert\LessThanOrEqual(
        value: 80,
    )]
    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 be today or in the past like this:

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

use Symfony\Component\Validator\Constraints as Assert;

class Person
{
    #[Assert\LessThanOrEqual('today')]
    protected $dateOfBirth;
}

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/Person.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Person
{
    #[Assert\LessThanOrEqual('today UTC')]
    protected $dateOfBirth;
}

The DateTime class also accepts relative dates or times. For example, you can check that a person must be at least 18 years old like this:

DateTime クラスは、相対的な日付または時刻も受け入れます。たとえば、次のように、人物が 18 歳以上である必要があることを確認できます。
  • Attributes
    属性
  • YAML
    YAML
  • XML
    XML
  • PHP
    PHP
1
2
3
4
5
6
7
8
9
10
// src/Entity/Person.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Person
{
    #[Assert\LessThanOrEqual('-18 years')]
    protected $dateOfBirth;
}

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 less than or equal to {{ compared_value }}.

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

This is the message that will be shown if the value is not less than or equal to the comparison value.

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

You can use the following parameters in this message:

このメッセージでは、次のパラメーターを使用できます。
Parameter Description
{{ compared_value }} The upper 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.

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