Email

Validates that a value is a valid email address. The underlying value is cast to a string before being validated.

値が有効な電子メール アドレスであることを検証します。基になる値は、検証される前に文字列にキャストされます。
Applies to property or method
Class Email
Validator EmailValidator

Basic Usage

  • Attributes
    属性
  • YAML
    YAML
  • XML
    XML
  • PHP
    PHP
1
2
3
4
5
6
7
8
9
10
11
12
// src/Entity/Author.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Author
{
    #[Assert\Email(
        message: 'The email {{ value }} is not a valid email.',
    )]
    protected $email;
}

Note

ノート

As with most of the other constraints, null and empty strings are considered valid values. This is to allow them to be optional values. If the value is mandatory, a common solution is to combine this constraint with NotBlank.

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

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 is not a valid email address.

タイプ: 文字列 デフォルト: この値は有効な電子メール アドレスではありません。

This message is shown if the underlying data is not a valid email address.

このメッセージは、基になるデータが有効な電子メール アドレスでない場合に表示されます。

You can use the following parameters in this message:

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

mode

type: string default: (see below)

タイプ: 文字列 デフォルト: (下記参照)

This option defines the pattern used to validate the email address. Valid values are:

このオプションは、電子メール アドレスの検証に使用されるパターンを定義します。有効な値は次のとおりです。
  • loose uses a simple regular expression (just checks that at least one @ character is present, etc.). This validation is too simple and it's recommended to use one of the other modes instead;
    Loose は単純な正規表現を使用します (少なくとも 1 つの @character が存在することなどを確認するだけです)。この検証は単純すぎるため、代わりに他のモードのいずれかを使用することをお勧めします。
  • html5 uses the regular expression of the HTML5 email input element, except it enforces a tld to be present.
    html5 は、tld の存在を強制することを除いて、HTML5 電子メール入力要素の正規表現を使用します。
  • html5-allow-no-tld uses exactly the same regular expression as the HTML5 email input element, making the backend validation consistent with the one provided by browsers.
    html5-allow-no-tld は、HTML5 電子メールの入力要素とまったく同じ正規表現を使用して、バックエンドの検証をブラウザーが提供するものと一致させます。
  • strict validates the address according to RFC 5322 using the egulias/email-validator library (which is already installed when using Symfony Mailer; otherwise, you must install it separately).
    strict は、egulias/email-validator ライブラリを使用して RFC 5322 に従ってアドレスを検証します (これは Symfony Mailer を使用するときに既にインストールされています。それ以外の場合は、個別にインストールする必要があります)。

6.2

6.2

The html5-allow-no-tld mode was introduced in 6.2.

html5-allow-no-tld モードは 6.2 で導入されました。

Tip

ヒント

The possible values of this option are also defined as PHP constants of Email (e.g. Email::VALIDATION_MODE_STRICT).

このオプションの可能な値は、Email の PHP 定数としても定義されています (例: Email::VALIDATION_MODE_STRICT)。

The default value used by this option is set in the framework.validation.email_validation_mode configuration option.

このオプションで使用されるデフォルト値は、framework.validation.email_validation_mode 構成オプションで設定されます。

6.2

6.2

The loose value is deprecated since Symfony 6.2. Starting from Symfony 7.0, the default value of this option will be html5.

Loose 値は Symfony 6.2 以降非推奨です。 Symfony 7.0 から、このオプションのデフォルト値は html5 になります。

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.

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