Codeigniter验证库在会话中存储错误

时间:2013-04-30 10:20:15

标签: php javascript codeigniter session

我正在使用Codeigniter提供的验证库 我的Web应用程序使用会话和javascript来填充警报消息。

因此,我希望我的错误信息是json格式 但辅助函数validation_errors()只输出html格式。

我该怎么办?

if ($this->form_validation->run() == FALSE)
            {
                add_flash_message('alert', $flash_in_json);
                redirect('enquiry/create');
            }

2 个答案:

答案 0 :(得分:2)

我认为正确的解决方案是扩展CI_Form_validation类以将getter添加到受保护的变量$ _error_ array ..

Class MY_Form_validation extends CI_Form_validation {
   function getErrorsArray(
       return $this->$_error_array;
   )
}

答案 1 :(得分:1)

这是将validation_errors()输出转换为json

的函数
function prep_validation_errors($errors){
        $str = str_replace('</p>', '', $errors);
        $arr = explode('<p>', $str);
        return json_encode($arr);
    }

然后您可以将其用作以下内容:

$json = $this->prep_validation_errors(validation_errors());