2013-09-02 1 views
8

mon erreur de validation de formulaire n'affiche pas les messages dans le fichier de vue lorsque je charge le modèle et obtient la ligne à partir des tables. voici mon code.codeigniter formulaire validation message d'erreur n'affiche pas

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

Ma forme fonctionne très bien si j'excluons ces deux lignes

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

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

que mes montre une erreur de validation. Je ne sais pas où est le problème?

Répondre

4

Vous devez utiliser la fonction validation_errors

<?php echo validation_errors(); ?> 

3.x Documentation: validation_errors

Documentation 2.x: form_validation

+0

Je Comprennent à la fois et mais cela n'a pas fonctionné quand j'ai inclus $ this-> load-> model ('book_category'); Sinon, si j'exclus pour charger le modèle, ça marche bien. –

+0

S'il vous plaît changer le lien ne fonctionne pas. –

+0

@ankitsuthar Liens mis à jour, merci – Bora

0

Essayez de changer à ceci:

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

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

Modèles première lettre en majuscule selon la documentation CI

Référence: http://ellislab.com/codeigniter/user-guide/general/models.html

Ceci est de leur page de référence:

classes de modèles sont stockés dans votre application/modèles/dossier. Ils peuvent être imbriqués dans des sous-dossiers si vous voulez ce type d'organisation.

Le prototype de base pour une classe de modèle est la suivante:

class Model_name extends CI_Model { 

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

Où MODEL_NAME est le nom de votre classe. Les noms de classe doivent avoir la première lettre en majuscule avec le reste du nom en minuscules. Assurez-vous que votre classe étend la classe de modèle de base.

Le nom du fichier sera une version minuscule de votre nom de classe. Par exemple, si votre classe est la suivante:

class User_model extends CI_Model { 

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

} 

Votre fichier sera ceci:

application/models/user_model.php Loading a Model 

Vos modèles seront généralement chargés et appelés à partir de vos fonctions de contrôleur. Pour charger un modèle, vous utiliserez la fonction suivante:

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

J'ai aussi essayé, mais toujours l'erreur n'a pas montré! –

+0

Désolé mon erreur. J'ai hérité par erreur de ma classe de modèle avec CI_controller Au lieu de la classe CI_Model –

+0

Vous ne mettez en majuscule que le nom du modèle lors de la création de la classe, et non lorsque vous y accédez. –

0

Désolé Mon erreur. inherit par erreur ma classe de modèle (book_category) avec CI_controller lieu de classe CI_Model

0

Essayez cette ....

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