Hola que tal tengo un poco de conocimiento acerca de la estructura de Codeigniter y para realizar lo que requieres existe un apartado dentro de la estructura de carpetas de Codeigniter
Carpeta aplication->Config-form_validation.php En ese archivo debes de generar tus validaciones
Este es un ejemplo que realize en una validacion
<?php
$config=array ('arreglo_validaciones_Personas'=> array(
array('field' => 'nombre','label' => 'Nombre','rules' => 'required|is_string|trim|xss_clean'),
array('field' => 'mail','label' => 'E-Mail','rules' => 'required|valid_email|trim|xss_clean'),
array('field' => 'telefono','label' => 'Teléfono','rules' => 'required|numeric|trim|xss_clean')
));
?>
Y asi es como lo mando
llamar en mi controlador $this->form_validation->run("arreglo_validaciones_Personas")
Este es la función que realice dentro de mi controlador
public function altasPersonas()
{
if($this->input->post())
{
if ($this->form_validation->run("arreglo_validaciones_Personas"))
{
$dataPersona=array
(
'nombre'=>$this->input->post("nombre",true),
'correo'=>$this->input->post("mail",true),
'telefono'=>$this->input->post("telefono",true),
'fecha'=>date("Y-m-d h:m:s")
);
$guardar=$this->model_persona->insertar_persona($dataPersona);
if($guardar)
{
$this->session->set_flashdata('ControllerMessage', 'Se ha agregado el registro exitosamente.');
redirect(base_url().'index.php/Controller_persona/verPersonas', 301);
}else
{
$this->session->set_flashdata('ControllerMessage', 'Se ha producido un error. Inténtelo nuevamente por favor.');
redirect(base_url().'Controller_persona/editar', 301);
}
}
}
$this->layout->view("vista_agregar_personas");
Espero te ayude mi aportación un saludo