J'essaie de déplacer les règles de validation d'un contrôleur vers un fichier de configuration. Je suis les instructions telles que documentées aquí mais je n'arrive pas à le faire fonctionner. Lorsque le formulaire est soumis, la validation ne s'exécute pas. Écho de validation_errors()
n'imprime rien.
Après avoir creusé un peu, la run()
de la bibliothèque de validation de formulaires renvoie faux parce qu'il n'y a pas de règles de configuration définies. En voici un extrait :
system/libraries/Form_validation.php :
// No validation rules? We're done...
if (count($this->_config_rules) == 0)
{
return FALSE;
}
Toute aide serait appréciée. Voici mon code :
application/controllers/signup.php :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Signup extends CI_Controller {
public function __construct() {
parent::__construct();
}
public function index() {
if ($this->form_validation->run()) {
$this->user_model->insert(array(
'email_address' => $this->input->post('email_address'),
'password' => $this->input->post('password'),
));
redirect('/log-in');
}
$this->load->view('header');
$this->load->view('signup/index');
$this->load->view('footer');
}
}
/* End of file signup.php */
/* Location: ./application/controllers/signup.php */
application/config/form_validation.php :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$config = array(
'signup/index' => array(
array(
'field' => 'email_address',
'label' => 'Email Address',
'rules' => 'trim|required|max_length[255]|valid_email|email_in_use'
),
array(
'field' => 'password',
'label' => 'Password',
'rules' => 'required|min_length[6]'
),
array(
'field' => 'confirm_password',
'label' => 'Confirm Password',
'rules' => 'required|matches[password]'
),
),
);
/* End of file form_validation.php */
/* Location: ./application/config/form_validation.php */
J'utilise CI 2.1.0.