验证没有FILTER_VALIDATE_URL的URL

时间:2013-10-06 04:40:31

标签: php

我正在玩弄验证并且一切都在膨胀,除非我不喜欢FILTER_VALIDATE_URL PHP过滤器,或者我没有正确使用它。此类输入将验证:

www.mysite(通知编号.com)

我希望这项工作:

www.mysite.com

mysite.com

这是我现在使用的代码..

if (empty($web)) {
$webError = '<p class="error">Website Is Required</p>';
}

else if (filter_var($web, FILTER_VALIDATE_URL) === FALSE) {
$webError = '<p class="error">Please Enter A Valid URL</p>';
}

1 个答案:

答案 0 :(得分:0)

当然,只会显示单个错误消息,因为您每次都会覆盖该字符串。你接近这一切都是错的。您需要某种错误容器才能存储它们。然后,如果它有错误,请在HTML标记中显示它们。您的代码可能如下所示,

$errors = array();

if (empty($web)) { 
   array_push($errors, 'Website Is Required');

} elseif (filter_var($web, FILTER_VALIDATE_URL) === false) {

   array_push($errors, 'Please Enter A Valid URL');
}

?>

<?php if (!empty($errors)) : ?>
<?php foreach($errors as $error): ?>

<p class="error"><?php echo $error; ?></p>

<?php endforeach; ?>
<?php endif; ?>