当我加载模型并从表中获取行时,我的表单验证错误不会在视图文件中显示消息。这是我的代码。
$this->form_validation->set_rules('bookCategoryId', 'Book SubCategory Id', 'trim|required');
$this->form_validation->set_rules('bookSubCategoryId', 'Book SubCategory Id', 'trim|required');
$this->form_validation->set_rules('bookSubCategoryName', 'Book SubCategory Name', 'trim|required');
if ($this->form_validation->run() == FALSE) {
/* Load Model */
$this->load->model('book_category');
/* Get Categories */
$template_data['mainContentData']['book_categories'] = $this->book_category->get_all_categories();
/* set view page to be called */
$template_data['mainContent'] = 'admin_add_book_subcategory';
/* Load Template */
$this->template($template_data);
}
如果我排除这两行
,我的表单可以正常工作 /* Load Model */
$this->load->model('book_category');
/* Get Categories */
$template_data['mainContentData']['book_categories'] = $this->book_category->get_all_categories();
比我的验证显示错误。我不知道问题在哪里?
答案 0 :(得分:6)
您应该使用validation_errors
功能
<?php echo validation_errors(); ?>
文档3.x:validation_errors
文档2.x:form_validation
答案 1 :(得分:0)
尝试将其更改为:
$this->load->model('Book_category');
/* Get Categories */
$template_data['mainContentData']['book_categories'] = $this->Book_category->get_all_categories();
根据CI文档对模型首字母大写
参考:http://ellislab.com/codeigniter/user-guide/general/models.html
这是来自他们的参考页面:
模型类存储在application / models /文件夹中。如果您想要这种类型的组织,它们可以嵌套在子文件夹中。
模型类的基本原型是:
class Model_name extends CI_Model {
function __construct()
{
parent::__construct();
}
}
其中Model_name是您的类的名称。类名必须首字母大写,其余名称小写。确保您的类扩展了基础Model类。
文件名将是您的班级名称的小写版本。例如,如果你的课是这样的:
class User_model extends CI_Model {
function __construct()
{
parent::__construct();
}
}
您的文件将是:
application/models/user_model.php Loading a Model
通常会在控制器功能中加载和调用模型。要加载模型,您将使用以下函数:
$this->load->model('Model_name');
答案 2 :(得分:0)
试试这个......
/* Load Model */
$this->load->model('book_category');
/* Get Categories */
$template_data['mainContentData']['book_categories'] = $this->book_category->get_all_categories();
/* set view page to be called */
$template_data['mainContent'] = 'admin_add_book_subcategory';
$this->form_validation->set_rules('bookCategoryId', 'Book SubCategory Id', 'trim|required');
$this->form_validation->set_rules('bookSubCategoryId', 'Book SubCategory Id', 'trim|required');
$this->form_validation->set_rules('bookSubCategoryName', 'Book SubCategory Name', 'trim|required');
if ($this->form_validation->run()) {
print_r($_POST); exit;
}
/* Load Template */
$this->template($template_data);