「Zend_Validate」を使ってフォームの値をチェック!
してたんだが、Eメールの「Zend_Validate_EmailAddress」とかはあっても、URLが存在しない・・・
なので「Zend_Validate_Regex」で正規表現を使ってやろう!
[PHP]
Zend_Loader::loadClass(‘Zend_Validate_Regex’);
// URLの正規表現 >> ^(https?:\/\/.+)$
$validator = new Zend_Validate_Regex(array(‘pattern’ => ‘/^(https?:\/\/.+)$/’));
[/PHP]
と思ったのだが、どーもURLは「Zend_Uri」という専用のコンポーネントが存在するとか!
[PHP]
$uri = $_POST[‘uri’];
Zend_Loader::loadClass(‘Zend_Uri’);
if(Zend_Uri::check($uri)){
echo ‘正しいURIです。’;
}else{
echo ‘不正なURIです。’;
}
[/PHP]
URL専用だけあって高い精度を持ち、またこのようにバリデート以外にも様々な機能があるとか?
ただし!
「Zend_Validate」のように、エラーメッセージを設定したり、バリデータチェーンとして組み込むのはできないらしい。。
その場合は・・・やっぱ結局は正規表現チェックかな??
スポンサードリンク
コメント