引き続き自分用のメモ。今回はPEAR。
PEAR::HTML_QuickForm2を利用していたところ、mailのvalidateがない事が判明(単純に見つけられていない可能性もあり。)
$mail -> addRule( “regex”, “メールアドレスが不正”, “/正規表現/” );
という書き方をしようかとも思ったものの、メールアドレスの正規表現については、正解がないとも言われているくらいなので、どこまで厳しく書くのか迷ってしまうため中断。そして少し調べてみたところ、Mail_RFC822というものがあるらしいので、ここでの処理はそれに任せる事に決定。
実装方法は下記の二つを検討。
- PEAR/HTML/QuickForm2/Rule/ あたりに追加してライブラリを拡張
- とりあえず、今回だけ使えるように該当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:HTML QuickForm2 Mail RFC822 pear PHP
Popularity: 17%