Twitter Bootstrap 和 CodeIgniter 的 Validation_Errors

Jul*_*n25 1 php codeigniter twitter-bootstrap

我正在使用 Twitter Bootstrap 为注册页面设置样式 validation_errors:

<?php
echo "<div class='alert alert-error span4'>";
echo validation_errors(); 
echo "</div>";
?>
Run Code Online (Sandbox Code Playgroud)

验证工作并显示,但部分样式始终存在(div 标签具有红色背景)。有没有办法只在存在validation_errors时才显示样式。我尝试了一些事情(在 php 标签中嵌入 html 并将 php 包含在 div 标签中),但结果是一样的。

Jam*_*ier 5

div结构仍然出现的原因是因为它在回显而不考虑是否有错误。

您可以将变量的值设置为validation_errors()控制器中函数的结果,然后仅在您确实遇到错误时才在视图中显示警报 div...

您的控制器会分配变量来保存(潜在的)错误:

$this->data['reported_error'] = validation_errors();
$this->load->view('view_name', $this->data);
Run Code Online (Sandbox Code Playgroud)

然后,如果出现错误,您的视图只会显示警报 div:

if ( isset($reported_error) )
{
    echo "<div class='alert alert-error span4'>".$reported_error."</div>";
}
Run Code Online (Sandbox Code Playgroud)

这要求您的validation_errors函数仅在出现错误时返回一个值。