2013-09-02 67 views
8

lỗi xác thực biểu mẫu của tôi không hiển thị thông báo trong tệp xem khi tôi tải mô hình và nhận hàng từ bảng. đây là mã của tôi.thông báo lỗi xác thực biểu mẫu mã thông báo không hiển thị

 $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); 
    } 

hình thức của tôi hoạt động tốt nếu tôi loại trừ hai dòng này

 /* Load Model */ 
     $this->load->model('book_category'); 

     /* Get Categories */ 
     $template_data['mainContentData']['book_categories'] = $this->book_category->get_all_categories(); 

hơn kiểm chứng thực của tôi cho thấy lỗi. Tôi không biết đâu là vấn đề?

Trả lời

4

Bạn nên sử dụng chức năng validation_errors

<?php echo validation_errors(); ?> 

Documentation 3.x: validation_errors

Documentation 2.x: form_validation

+0

tôi bao gồm cả nhưng nó không hoạt động khi tôi bao gồm $ this-> load-> model ('book_category'); nếu không, nếu tôi loại trừ để tải mô hình nó hoạt động tốt. –

+0

Vui lòng thay đổi liên kết không hoạt động. –

+0

@ankitsuthar Liên kết được cập nhật, cảm ơn – Bora

0

Cố gắng thay đổi nó như thế này:

 $this->load->model('Book_category'); 

     /* Get Categories */ 
     $template_data['mainContentData']['book_categories'] = $this->Book_category->get_all_categories(); 

Models chữ cái đầu tiên viết hoa theo tài liệu CI

tham khảo: http://ellislab.com/codeigniter/user-guide/general/models.html

Đây là từ trang tài liệu tham khảo của họ:

lớp mẫu

được lưu trữ trong ứng dụng của bạn/mô hình/thư mục. Chúng có thể được lồng trong các thư mục con nếu bạn muốn loại tổ chức này.

Nguyên mẫu cơ bản cho một lớp mô hình là thế này:

class Model_name extends CI_Model { 

    function __construct() 
    { 
     parent::__construct(); 
    } 
} 

đâu MODEL_NAME là tên của lớp học của bạn. Tên lớp phải có chữ cái đầu tiên được viết hoa với phần còn lại của tên thường. Hãy chắc chắn rằng lớp của bạn mở rộng lớp Mô hình cơ sở.

Tên tệp sẽ là phiên bản chữ thường của tên lớp học của bạn. Ví dụ, nếu lớp học của bạn là thế này:

class User_model extends CI_Model { 

    function __construct() 
    { 
     parent::__construct(); 
    } 

} 

tập tin của bạn sẽ được này:

application/models/user_model.php Loading a Model 

mô hình của bạn thường sẽ được nạp và được gọi là từ bên trong các chức năng điều khiển của bạn. Để tải mô hình, bạn sẽ sử dụng chức năng sau:

$this->load->model('Model_name'); 
+0

Tôi cũng đã thử điều này, nhưng vẫn còn lỗi không hiển thị! –

+0

Xin lỗi lỗi của tôi. tôi nhầm lẫn kế thừa lớp mô hình của tôi với CI_controller Thay vì lớp CI_Model –

+0

Bạn chỉ viết hoa tên mô hình khi tạo lớp, chứ không phải khi truy cập vào nó. –

0

Xin lỗi Lỗi của tôi. tôi nhầm kế thừa lớp mô hình của tôi (book_category) với CI_controller Thay vì lớp CI_Model

0

Hãy thử điều này ....

/* 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);