所以我在笨form_validation一个小问题,这里是控制器 -
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class Records extends CI_Controller {
public function index()
{
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->load->helper('url');
$this->load->view('includes/header');
$this->load->view('products');
$this->load->view('includes/footer');
}
public function addRecord() {
$this->load->helper(array('form', 'url'));
$this->load->helper('url');
$query = $this->db->get_where('users', array('uname' => $this->session->userdata('username')));
foreach($query->result_array() as $row) {
$data = array(
'username' => $row['uname'],
'email' => $row['email'],
'name' => $row['name'],
'description' => $row['description'],
'picture' => $row['picture'],
'gender' => $row['gender'],
);
}
if($this->session->userdata('logged_in')) {
$this->load->view('includes/header');
$this->load->view('my_records', $data);
$this->load->view('includes/footer');
}
else {
redirect('/home', 'refresh');
}
}
public function postRecord() {
$this->lang->load('form_validation', 'latvian');
$this->load->library('form_validation');
$this->load->model('records');
$this->load->helper(array('form', 'url'));
if(!$this->session->userdata('logged_in')) redirect('/home', 'refresh');
$this->form_validation->set_rules('message', 'Ziņa', 'required|trim|min_length[5]|max_length[250]');
$query = $this->db->get_where('users', array('uname' => $this->session->userdata('username')));
foreach($query->result_array() as $row) {
$data = array(
'username' => $row['uname'],
'email' => $row['email'],
'name' => $row['name'],
'description' => $row['description'],
'picture' => $row['picture'],
'gender' => $row['gender'],
);
}
// If doesn't pass validation, redirect's back with errors.
if ($this->form_validation->run() == FALSE)
{
$this->load->helper('url');
$this->load->view('includes/header');
$this->load->view('my_records', $data);
$this->load->view('includes/footer');
}
// If everything is correct add's user.
else
{
$this->load->view('includes/header');
$this->load->view('my_records', $data);
$this->load->view('includes/footer');
}
}
} ?>
和视图 -
<div class="list-products">
<div>
<?php if(validation_errors()) { ?><div class="error-submit"><p><?php echo validation_errors(); ?></p></div><?php } ?>
<form class="fix-this form" method="post" action="/savieno/records/postRecord">
<div class="formfield">
<span class="profile">Your message:</span>
<textarea id="message" name="message" class="with-label" rows="10" cols="10" placeholder="your message."></textarea>
</div>
<div class="formfield">
<input type="submit" id="submit" name="postRecord" value="Pievienot" class="fix-this" />
</div>
</form>
</div>
在开始时,它给我的错误,那找不到函数set_message(),但我在表单助手之前添加了form_validation,现在它可以工作,但是再次出现问题,导致它不显示表单错误代码。它只是没有显示它,我已经为它设置了错误信息,它应该工作,但事实并非如此。可能是什么问题呢?
如果var_dump(validation_errors())'会发生什么? – 2012-04-02 20:50:13