Length

Validates that a given string length is between some minimum and maximum value.

指定された文字列の長さが最小値と最大値の間にあることを検証します。
Applies to property or method
Class Length
Validator LengthValidator

Basic Usage

To verify that the firstName field length of a class is between 2 and 50, you might add the following:

クラスの firstName フィールドの長さが 2 ~ 50 であることを確認するには、次を追加します。
  • Attributes
    属性
  • YAML
    YAML
  • XML
    XML
  • PHP
    PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// src/Entity/Participant.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Participant
{
    #[Assert\Length(
        min: 2,
        max: 50,
        minMessage: 'Your first name must be at least {{ limit }} characters long',
        maxMessage: 'Your first name cannot be longer than {{ limit }} characters',
    )]
    protected $firstName;
}

Note

ノート

As with most of the other constraints, null is considered a valid value. This is to allow the use of optional values. If the value is mandatory, a common solution is to combine this constraint with NotNull.

他のほとんどの制約と同様に、null は有効な値と見なされます。これは、オプションの値を使用できるようにするためです。値が必須の場合、一般的な解決策は、この制約を NotNull と組み合わせることです。

Options

charset

type: string default: UTF-8

タイプ: 文字列デフォルト: UTF-8

The charset to be used when computing value's length with the mb_check_encoding and mb_strlen PHP functions.

mb_check_encoding および mb_strlenPHP 関数で値の長さを計算するときに使用される文字セット。

charsetMessage

type: string default: This value does not match the expected {{ charset }} charset.

タイプ: 文字列 デフォルト: この値は、予想される {{ charset }} 文字セットと一致しません。

The message that will be shown if the value is not using the given charset.

値が特定の文字セットを使用していない場合に表示されるメッセージ。

You can use the following parameters in this message:

このメッセージでは、次のパラメーターを使用できます。
Parameter Description
{{ charset }} The expected charset
{{ value }} The current (invalid) value

exactMessage

type: string default: This value should have exactly {{ limit }} characters.

タイプ: 文字列 デフォルト: この値は正確に {{ limit }} 文字である必要があります。

The message that will be shown if min and max values are equal and the underlying value's length is not exactly this value.

最小値と最大値が等しく、基になる値の長さが正確にこの値でない場合に表示されるメッセージ。

You can use the following parameters in this message:

このメッセージでは、次のパラメーターを使用できます。
Parameter Description
{{ limit }} The exact expected length
{{ value }} The current (invalid) value

groups

type: array | string

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

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

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

max

type: integer

タイプ: 整数

This option is the "max" length value. Validation will fail if the given value's length is greater than this max value.

このオプションは「最大」の長さの値です。指定された値の長さがこの最大値より大きい場合、検証は失敗します。

This option is required when the min option is not defined.

このオプションは、min オプションが定義されていない場合に必要です。

maxMessage

type: string default: This value is too long. It should have {{ limit }} characters or less.

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

The message that will be shown if the underlying value's length is more than the max option.

基になる値の長さが最大オプションを超える場合に表示されるメッセージ。

You can use the following parameters in this message:

このメッセージでは、次のパラメーターを使用できます。
Parameter Description
{{ limit }} The expected maximum length
{{ value }} The current (invalid) value

min

type: integer

タイプ: 整数

This option is the "min" length value. Validation will fail if the given value's length is less than this min value.

このオプションは「最小」の長さの値です。指定された値の長さがこの最小値より小さい場合、検証は失敗します。

This option is required when the max option is not defined.

このオプションは、max オプションが定義されていない場合に必要です。

It is important to notice that null values are considered valid no matter if the constraint requires a minimum length. Validators are triggered only if the value is not null.

制約が最小の長さを要求するかどうかに関係なく、null 値は有効であると見なされることに注意することが重要です。バリデーターは、値が null でない場合にのみトリガーされます。

minMessage

type: string default: This value is too short. It should have {{ limit }} characters or more.

タイプ: 文字列 デフォルト: この値は短すぎます。 {{ limit }} 文字以上にする必要があります。

The message that will be shown if the underlying value's length is less than the min option.

基礎となる値の長さが min オプションより小さい場合に表示されるメッセージ。

You can use the following parameters in this message:

このメッセージでは、次のパラメーターを使用できます。
Parameter Description
{{ limit }} The expected minimum length
{{ value }} The current (invalid) value

normalizer

type: a PHP callable default: null

タイプ: PHP 呼び出し可能デフォルト: null

This option allows to define the PHP callable applied to the given value before checking if it is valid.

このオプションを使用すると、有効かどうかを確認する前に、指定された値に適用される PHP 呼び出し可能オブジェクトを定義できます。

For example, you may want to pass the 'trim' string to apply the trim PHP function in order to ignore leading and trailing whitespace during validation.

たとえば、検証中に先頭と末尾の空白を無視するために、trim PHP 関数を適用するために「trim」文字列を渡すことができます。

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.

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