1

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

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

我能做些什么?

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

2 回答 2

2

我猜正确的解决方案是扩展 CI_Form_valuidation 类以将 getter 添加到受保护的变量 $_error_array..

Class MY_Form_validation extends CI_Form_validation {
   function getErrorsArray(
       return $this->$_error_array;
   )
}
于 2013-04-30T11:15:33.950 回答
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());
于 2013-04-30T23:28:42.433 回答