G.T*_*son 1 php validation codeigniter
我正在构建一个基本上显示3个表单的小应用程序......第一个是可选的,第二个不是,第三个不是.我希望每个表单都是一个单独的URL(控制器).在阅读CodeIgniter form_validation的文档时,表单似乎只能提交给自己进行验证.如果是这样的话,表格会一直显示在同一页面上......他基本上就是我所拥有的...并评论了我想做的事情......
class Index extends CI_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
//load front page that contains first form...
$content['title'] = 'Home';
$content['view'] = 'pages/index';
$this->load->view('template/default',$content);
}
function step_two()
{
//recieve information from front page. validate form. If validation is
//successful continue to step_two(url) if it fails redirect
//to front page with error...
$this->form_validation->set_rules('serial', 'Serial Number', 'required');
if ($this->form_validation->run() == FALSE)
{
//return to front page...
}else{
//do necessary work and load step_two view
}
}
}
?>
Run Code Online (Sandbox Code Playgroud)
这是我的想法的一个片段.但我注意到的是,除非表单提交给自己,否则你不能进行表单验证.有任何想法吗?我应该验证表单然后只是重定向到新的URL /功能?
多谢你们...
这就是你如何做到的
控制器 -
public function step1()
{
if ($this->form_validation->run() == FALSE)
{
$this->load->view('myform1');
}
else
{
//do something to post data
redirect('/controller/step2');
}
}
public function step2()
{
if ($this->form_validation->run() == FALSE)
{
$this->load->view('myform2');
}
else
{
//do something to post data
redirect('/controller/step3');
}
}
Run Code Online (Sandbox Code Playgroud)
所以回答你的问题是肯定的,你用相同的方法保存它们并重定向成功验证.