[PEAR]HTML_QuickForm2 で Mail_RFC822 を利用する

引き続き自分用のメモ。今回はPEAR。
PEAR::HTML_QuickForm2を利用していたところ、mailのvalidateがない事が判明(単純に見つけられていない可能性もあり。)

$mail -> addRule( “regex”, “メールアドレスが不正”, “/正規表現/” );

という書き方をしようかとも思ったものの、メールアドレスの正規表現については、正解がないとも言われているくらいなので、どこまで厳しく書くのか迷ってしまうため中断。そして少し調べてみたところ、Mail_RFC822というものがあるらしいので、ここでの処理はそれに任せる事に決定。

実装方法は下記の二つを検討。

  1. PEAR/HTML/QuickForm2/Rule/ あたりに追加してライブラリを拡張
  2. とりあえず、今回だけ使えるように該当PHP内で完結

今回はお試しという事もあったので、とりあえずは「2.」を選択。

$mail -> addRule( “callback”, “メールアドレスが不正です”, “check_mail” );
function check_mail( $mail ) {
require_once( “Mail/RFC822.php” );
return Mail_RFC822::isValidInetAddress( $mail ) ? true: false;
}

シンプルに実装できたため、そこそこ満足。
PEARは何となくめんどくさいイメージがあって敬遠しがちになるけど、使っておいた方が良いのだろうなあとは常々思う。


Tags:

Popularity: 17%