将视图作为字符串传递时,codeIgniter表单验证不起作用

时间:2011-11-01 00:06:54

标签: codeigniter codeigniter-2 codeigniter-form-helper

我目前正在学习CodeIgniter并将其用于一个小项目。我想制作一个模板,这样我就不需要为视图编写重复的代码了。我喜欢这篇文章中的jruzafa答案:How to Deal With Codeigniter Templates?

在控制器中:

    //Charge the view inside array
    $data['body'] = $this->load->view('pages/contact', '', true);


    //charge the view "contact" in the other view template
    $this->load->view('template', $data);

在视图中查看template.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es"> 
<head> 
    <title>Template codeigniter</title> 
</head> 
<body> 
    <div> 
        <?=$body?>
    </div> 
    <div class="clear"></div> 
    <div>Footer</div> 
    </div> 
</body> 
</html> 

$ body是查看联系人。

但现在我遇到了一个问题。如果我将form_view作为字符串传递给$ data ['body'],则表单验证不起作用。有没有办法解决它?

感谢。

1 个答案:

答案 0 :(得分:3)

尝试在模板中加载正文内容。这应该可以让您对输出更具选择性:

在控制器中:

// Set the path to body content inside the $data array
$data['path_to_body'] = 'pages/contact';
$this->load->view('template', $data);

在视图中查看template.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es"> 
<head> 
    <title>Template codeigniter</title> 
</head> 
<body> 
    <div> 
        <? $this->load->view($path_to_body) ?>
    </div> 
    <div class="clear"></div> 
    <div>Footer</div> 
    </div> 
</body> 
</html>