无法在Codeigniter中显示表单错误

时间:2016-07-27 02:27:38

标签: php codeigniter blogs codeigniter-3

我正在使用Codeigniter创建博客应用程序。所以我为admin创建了管理面板。但在我的新文章控制器上,我无法显示表单错误。这是我的代码。

添加文章和商店文章控制器

class ScenarioEnvironment():
    def __init__(self):
        print(self)

class report():
    config = ScenarioEnvironment()
    def __init__(self):
        self.config = ScenarioEnvironment()

添加文章视图

public function add_article()
{
    $this->load->model('dashboardmodel');
    $username = $this->dashboardmodel->get_username();
    $this->load->helper('form');
    $this->load->view('admin/add_article', ['user'=>$username]);
}
public function store_article()
{
    $this->load->library('form_validation');
    $this->form_validation->set_error_delimiters('<div class="alert alert-dismissible alert-danger">', '</div>');
    $this->form_validation->set_rules('title', 'Post Title', 'required|trim|alpha');
    $this->form_validation->set_rules('body', 'Post Content', 'required');
    if ($this->form_validation->run()) {
        $title = $this->input->post('title');
        $body = $this->input->post('body');
        echo 'Successful';
    } else {
        return redirect('admin/add_article');
    }
}

不要做什么,但我被困在里面。

1 个答案:

答案 0 :(得分:1)

您的问题是,当表单提交包含错误时,您会再次重定向到该页面,这会刷新页面并且所有错误都消失了。您需要做的是将return redirect('admin/add_article');行替换为实际再次加载相同的视图,这次将包含错误。并且由于你为视图加载了其他东西,你将不得不用整个代码替换它(这与其他方法相同,所以也许你应该更多地考虑这个代码的结构):

$this->load->model('dashboardmodel');
$username = $this->dashboardmodel->get_username();
$this->load->helper('form');
$this->load->view('admin/add_article', ['user'=>$username]);