用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3019|回复: 5
收起左侧

[已解决] 控制器一个方法里多个视图使用表单验证如何实现?

[复制链接]
发表于 2011-8-22 17:37:16 | 显示全部楼层 |阅读模式
因手册里的例子是很简单的,如下,验证结束只需要$this->load->view( )就可以了。
PHP复制代码
<?php
 
class Form extends CI_Controller {
 
 function index()
 {
  $this->load->helper(array('form', 'url'));
 
  $this->load->library('form_validation');
   
  if ($this->form_validation->run() == FALSE)
  {
   $this->load->view('myform');
  }
  else
  {
   $this->load->view('formsuccess');
  }
 }
}
?>
复制代码


但实际上我需要跳转到一个方法里,这个方法里有n个视图,而不仅仅和上面例子里一样只有一个视图,如下:
PHP复制代码
  function card()
 {    
    $this->load->view('header');
   
    $this->load->library('form_validation');
 
    $this->load->view('card_entry');    
       
    $this->load->view('footer');
 }
复制代码

我该如何做呢?上面只是一个简单的例子,我觉得我不应该把card方法里的语句全部copy到index方法里吧?

发表于 2011-8-22 17:38:22 | 显示全部楼层
if ($this->form_validation->run() == FALSE)
  {
  $this->card();
  }
 楼主| 发表于 2011-8-22 17:40:51 | 显示全部楼层
谢谢楼上的!!我也这么试了,但是因好像表单的数据没有传递过去,所以我不知道对不对。
请问这样数据应该会传递过去么?
发表于 2011-8-22 17:44:11 | 显示全部楼层
虾子酱油 发表于 2011-8-22 17:40
谢谢楼上的!!我也这么试了,但是因好像表单的数据没有传递过去,所以我不知道对不对。
请问这样数据应该 ...

你测试下就可以了,header和footer我一般是在试图的头尾引入的,很少在控制器里引入,所以我控制器一般就是直接load一个视图,不过应该是可以的.
 楼主| 发表于 2011-8-22 17:48:07 | 显示全部楼层
zhouli520 发表于 2011-8-22 17:44
你测试下就可以了,header和footer我一般是在试图的头尾引入的,很少在控制器里引入,所以我控制器一般就是 ...

OK!非常感谢!我研究一下,
 楼主| 发表于 2011-8-22 20:35:40 | 显示全部楼层
本帖最后由 虾子酱油 于 2011-8-22 20:36 编辑

问题解决!把view在控制器里简化为一个,就好办了。

本版积分规则