「Zend_Validate」でURLをチェックするのに・・・


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」のように、エラーメッセージを設定したり、バリデータチェーンとして組み込むのはできないらしい。。

その場合は・・・やっぱ結局は正規表現チェックかな??

スポンサードリンク

コメント

タイトルとURLをコピーしました