我正在玩弄验证并且一切都在膨胀,除非我不喜欢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>';
}
答案 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; ?>