メールアドレスに⽇本語が使える(Laravel)

laravel

WEBシステム開発でメールアドレスの⼊⼒を求めるケースは多々あるが、テストで異常値の確認を⾏っている際、ふとメールアドレス欄に⽇本語を⼊⼒すると通ってしまう事象が発⽣。
調べてみると約10年前から⽇本語(厳密にはUTF-8)が使えるようになっていた模様。

RFCについて

Request For Comments の略で、インターネット技術の標準化を⾏うIETFが発⾏しており、インターネット関連の技術に関する仕様がまとめられている。

メールアドレスの⽇本語(UTF-8)対応

■ローカル部

RFC 6531(2012年)

■ドメイン部

RFC 6531(2012年)RFC 6532(2012年)

Laravelでのメールアドレスバリデーション

Laravelでは標準でメールアドレス⽤のバリデーションが⽤意されています。

rfc: RFCValidation
strict: NoRFCWarningsValidation
dns: DNSCheckValidation
spoof: SpoofCheckValidation
filter: FilterEmailValidation

 
以下のように組み合わせることで必要なバリデーションをかけることが可能。

'email' => 'email:rfc,dns'

https://readouble.com/laravel/8.x/ja/validation.html