valid_email2とは
メールの正規表現を提供するgemのことです。ドメインに MX レコードがあることをさらに検証します。
インストール方法
Gemfileに以下を記載し、budle install
を実行する。
gem "valid_email2"
基本的な使い方
有効なメールアドレスであることを確認する
validates :email, presence: true, 'valid_email_2/email': true
用途別使い方
ドメインに MXレコードまたはAレコードがあることを確認したい場合
validates :email, 'valid_email_2/email': { mx: true }
# MXレコードがあることを厳密に検証する場合
validates :email, 'valid_email_2/email': { strict_mx: true }
ドメインが使い捨て電子メールではないことを確認したい場合
validates :email, 'valid_email_2/email': { disposable_domain: true }
電子メールがサブアドレス指定されていないことを確認したい場合
validates :email, 'valid_email_2/email': { disallow_subaddressing : true }
電子メールの @ の前にドットが含まれていないことを確認したい場合
validates :email, 'valid_email_2/email': { disallow_dotted : true }
独自のカスタムメッセージの作成をしたい場合
validates :email, 'valid_email_2/email': { message : "有効なメールではありません" }
複数のアドレスをコンマで区切って許可したい場合
validates :email, 'valid_email_2/email': { multiple: true }
モデル以外での使用例
address = ValidEmail2::Address.new("sample@gmail.com")
address.valid? => true
address.disposable? => false
address.valid_mx? => true
address.valid_strict_mx? => true
address.subaddressed? => false
参考
[公式ドキュメント]
(https://github.com/micke/valid_email2)