你如何自定义/设置codeigniter错误?

问题描述 投票:9回答:5

我正在尝试为codeigniter中的错误消息显示自定义CSS / HTML,因此我可以为每个应用标记并设置它们的样式。

我尝试谷歌这个并搜索手册,但一直在寻找错误的条款 - 任何人都可以帮助我吗?

php codeigniter xhtml
5个回答
23
投票

你可以这样做......

$this->form_validation->set_error_delimiters('<div class="error">', '</div>'); 

请参阅相关的Codeigniter documentation

注意:已更新以更正函数引用(验证应为form_validation)。


3
投票

我推荐更优雅的方式。

修复了MY_Form_validation.php文件并将其放入应用程序/库中,并使用以下代码覆盖默认分隔符。

class MY_Form_validation extends CI_Form_validation {

    public function __construct()
    {
        parent::__construct();

        $this->_error_prefix = '<p class="error">';
        $this->_error_suffix = '</p>';
    }
}

链接到原文:http://chris-schmitz.com/changing-default-error-delimiters-in-codeigniter/


1
投票
$this->validation->set_error_delimiters('<div class="error">', '</div>');

0
投票

您可以使用库“表单验证”的方法“set_error_delimiters”:

$this->validation->set_error_delimiters('<div class="error">', '</div>');

您还可以使用表单帮助程序内联代码:

validation_errors('<div class="error">', '</div>')

或者在form_validation库上创建扩展类:

class MY_Form_validation extends CI_Form_validation
{
    public function __construct( $rules = array() )
    {
        // applies delimiters set in config file.
        if( ! isset( $rules['error_prefix'] ) )
        {
            $rules['error_prefix'] = '<div class="error">';
        }

        if( ! isset( $rules['error_suffix'] ) )
        {
            $rules['error_suffix'] = '</div>';
        }

        parent::__construct( $rules );
    }
}

我喜欢上一个方法,因为默认情况下允许设置样式并在方法解释之前覆盖。

对不起我的英语不好 :)


0
投票
$this->validation->set_error_delimiters('<div class="error">', '</div>');

这是错误的语法。正确的是

$this->form_validation->set_error_delimiters('<div class="error">', '</div>'); 
© www.soinside.com 2019 - 2024. All rights reserved.