我正在使用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');
}
}
不要做什么,但我被困在里面。
答案 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]);