Я пытаюсь переместить правила проверки из контроллера в файл конфигурации.Я следую указаниям, которые задокументированы здесь , но я не могу заставить его работать.Когда форма отправлена, проверка не выполняется.Повтор validation_errors()
ничего не печатает.
После небольшого копания метод run()
в библиотеке проверки формы возвращает false , поскольку не заданы правила конфигурации.Вот отрывок:
system / library / Form_validation.php:
// No validation rules? We're done...
if (count($this->_config_rules) == 0)
{
return FALSE;
}
Любая помощь будет принята с благодарностью.Вот мой код:
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 */
Я использую CI 2.1.0.