Pages

2018年5月20日日曜日

Symfonyのコンポーネントだけ使ってメールアドレスが正しいかをチェックする

既存システムの改修を行う際にメールアドレスのチェックを強化したいけど、
フレームワークを使ってなかったので、composer で Symfony のバリデーションだけ入れて対応。

まずはコンポーネントを追加
$ composer require symfony/validator
※ 別要件で、 /vendor/autoload.php は読み込み済み。

後は、

http://symfony.com/doc/current/validation.html

を見ながら下の感じで。

use Symfony\Component\Validator\Validation;
use Symfony\Component\Validator\Constraints\Email;


$validator = Validation::createValidator();
$violations = $validator->validate($email, array(
    new Email(array(
        'message' => 'The email "{{ value }}" is not a valid email.',
        'strict' => true,
        'checkHost' => true,
    )),
));

// エラー有無のチェック
if (0 !== count($violations)) {
 // 有 の場合
 foreach ($violations as $violation) {
    echo $violation->getMessage();
 }
} else {
 // 無 の場合
}

利用可能なオプション

  • strict
  • message
  • checkMX
  • checkHost
  • payload
今回は strict、message、checkHost だけ利用。

0 件のコメント:

コメントを投稿

Followers