2013-10-06 39 views
1

我玩弄验证和所有的会膨胀,除非我真的不喜欢FILTER_VALIDATE_URL PHP过滤器,或者我没有正确使用它。这种类型的输入将验证:验证URL没有FILTER_VALIDATE_URL

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>'; 
} 

回答

0

关当然,只有一封E将显示错误消息,因为您每次都会覆盖该字符串。你正在接近这一切都错了。您需要某种错误容器才能存储它们。然后如果它有错误,用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; ?> 
+0

这看起来很不舒服,当我完成混搭后,回复你。我喜欢它,因为你的权利,我正在接近一堆单独的$错误变量,intead做一个数组.. – penweb