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


Warning: opendir(/home/ezic/ezic.info/public_html/w.ezic.info/wp-content/cache/db/2/comments//87b): Failed to open directory: No such file or directory in /home/ezic/ezic.info/public_html/w.ezic.info/wp-content/plugins/w3-total-cache/Util_File.php on line 158

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をコピーしました