以下代码未应用chrome中的p标记中提到的类,但在IE,Firefox中工作
<p class="p_error"><?php print $this->validation->errorValue;?></p>
Here CSS ->
.p_error{
color:red;
text-align:left;
font-size:12px;
}
<p class="p_error"><?php print $this->validation->errorValue;?></p>
Here CSS ->
.p_error{
color:red;
text-align:left;
font-size:12px;
}
答案 0 :(得分:5)
默认情况下,系统会在显示的每条错误消息周围添加一个段落标记(<p>
)。您可以使用此代码轻松更改这些分隔符,并将其放在控制器中:
$this->validation->set_error_delimiters('<div class="error">', '</div>');
:http://codeigniter.com/user_guide/libraries/validation.html>
答案 1 :(得分:2)
你的CSS是什么样的?它应该看起来像:
.p_error {
color: red;
font-weight: bold;
}
答案 2 :(得分:2)
这是PHP脚本生成的代码:
<p class="p_error"><p>The Treated By field is required.</p></p>
HTML规范声明:
</P>
标签可能会被省略(暗示)这些规则意味着你可以这样写:
<p>First paragraph
<p>Second paragraph
浏览器会在第二段</p>
之前自动关闭第一段(即添加<p>
)。
在您的情况下,这意味着错误最终在p_error
段落之外,因为“检查元素”显示:
<p class="p_error"></p>
<p>The Treated By field is required.</p>
答案 3 :(得分:1)
简单地说,<p>
无法包裹<p>
。因此,如果你给它<p><p>content</p></p>
,浏览器会变得非常困惑。选项要么使用内置的包装器参数:
<?= form_error('lastname_error', '<p class="p_error">', '</p>'); ?>
或者将整个事物包裹在可以包裹<p>
的元素中,例如<div>
。
<div class="p_error"><?php print $this->validation->lastname_error;?></div>
当然,您必须设置div
的样式而不是p
。
答案 4 :(得分:1)
默认情况下,系统会在显示的每条错误消息周围添加一个段落标记(<p>
)。您可以使用此代码轻松更改这些分隔符,并将其放在控制器中:
$this->validation->set_error_delimiters('<div class="error">', '</div>');
:http://codeigniter.com/user_guide/libraries/validation.html>
答案 5 :(得分:0)
我的意思是在$ errorValue里面你有一些其他的html标签重载<p>
样式声明
答案 6 :(得分:0)
当您浏览页面时,请确保按住 Shift 按钮并按刷新。这样你的浏览器就会加载新的CSS(假设你在最初加载页面后添加了p_error
)
答案 7 :(得分:0)
<p class="p_error"></p>
内没有任何内容,因此无法显示任何内容。如果您希望显示individual errors,则应使用
<?php echo form_error('your_field'); ?>
<?php echo form_error('your_field', '<p class="p_error">', '</p>'); ?>
重要说明:提示您的观点,$this
无效,因为它需要一个类上下文才能工作。
答案 8 :(得分:0)
解决问题的一种简单方法是将代码更改为:
CSS (无变化)
.p_error{ color:red; text-align:left; font-size:12px; }
PHP (将P更改为DIV)
<div class="p_error"><?php print $this->validation->errorValue;?></div>