笨 - 从不同的控制器动作
问题描述:
处理表单提交请告诉我来处理笨以下情况的最好办法:笨 - 从不同的控制器动作
首页控制器具有指标作用,并提交操作。
提交操作用于表单提交。我想通过索引控制器加载页面 - 包括表单提交后,即表单错误数据重新填写表单输入错误等。
什么是最好的方式做到这一点 - 没有索引控制器处理主页面加载和表单提交。
答
如果你redirect()
,你将无法使用set_value()
重新填充你的表单域。
最简单的是让您的索引控制器处理默认加载行为和提交。
function index()
{
if($this->input->post('foo'))
{ // something was POSTed
$this->load->library('form_validation');
//validation rules
} else
{ // normal view
//
}
$this->load->view('home');
}
或者,你可以设置你的index
和submit
控制器,并让它们指向同一视图,其检测是否validation_errors()
设定并相应地重新填充表单字段。
第三个选项(hackish):您可以使用flashdata将提交的错误和提交的表单值重定向回索引。像这样的东西会工作:
$this->session->set_flashdata('errors', $validation_errors());
帮了我很多。 – hairynuggets 2011-11-15 13:57:30
所以如果我有一个控制器来处理注册,我应该有一个if-else在数据发布的地方,然后处理注册细节。否则,只需加载注册表单? – 2013-03-11 06:33:02