Проверка формы перестает работать при рендеринге страниц с использованием другого контроллера
Я написал быстрый класс библиотеки CI для отображения моих страниц, чтобы я ненадо продолжать печатать$ This->load->Посмотреть' все время и для СУХОГО. Теперь, когда я повторно отображаю свою контактную форму после передачи неверных данных, сообщения об ошибках не отображаются.т появляется
Класс библиотеки:
class Page extends CI_Controller {
public function render($page, $data) { // $page should be path to page view
$this->load->view('fragments/header', $data);
$this->load->view('fragments/navigation');
$this->load->view($page);
$this->load->view('fragments/navigation');
$this->load->view('fragments/footer');
}
}
и контроллер:
class Contact extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->helper('form');
$this->load->library(array('form_validation', 'email', 'page'));
}
public function index() {
$this->form_validation->set_rules('sender_name', 'From', 'required');
$this->form_validation->set_rules('sender_email', 'Email', 'required|valid_email');
$this->form_validation->set_rules('subject', 'Subject', 'required');
$this->form_validation->set_rules('message', 'Message', 'required');
if ($this->form_validation->run() === FALSE) {
$this->load->library('page');
$this->page->render('contact/contact', array('title' => 'Contact Me')); // pass in page title
/* IT WORKED THIS WAY
$this->load->view('fragments/header', array('title' => 'Contact Me')); // pass in page title
$this->load->view('fragments/navigation');
$this->load->view('contact/contact'); // TODO maintain form state
$this->load->view('fragments/navigation');
$this->load->view('fragments/footer');
*
*/
}
//SNIP
вид контактной формы:
Contact Me
Name:
<span class="error"></span>
Email:
<span class="error"></span>
Subject:
<span class="error"></span>
Message:
<span class="error"></span>
Как я могу рендерить страницы с помощью этого помощника и при этом получать сообщения об ошибках из библиотеки form_validation?