Validar formularios con Codeigniter

Validar formularios con Codeigniter es muy sencillo.

Voy a crear un formulario simple, sin interacción con la base de datos, solamente para ver como se valida un formulario.

views/formulario_view.php

<!DOCTYPE HTML>
<html lang="es">
    <head>
        <meta charset="UTF-8"/>
        <title>Validar formularios con Codeigniter</title>
    </head>
    <body>
<!--Creamos un formulario que nos lleve al controlador formulario_controller/recibirFormulario-->
        <form action="<?=base_url("formulario_controller/recibirFormulario")?>" method="post">
            <input type="text"  name="nombre"/>
            <input type="email" name="email"/>
            <input type="password" name="password"/>
            <input type="submit" name="submit" value="Enviar"/>
        </form>
        <h2><?php if(isset($mensaje)) echo $mensaje; ?></h2>
        <?=validation_errors();?><!--mostrar los errores de validación-->
    </body>
</html>

controllers/formulario_controller.php

<?php
class formulario_controller extends CI_Controller{
    public function __construct() {
        parent::__construct(); 
        
        //Cargamos la librería de validación (todos las librerias, helpers, etc pueden ser cargados en los controladores o auto cargarlos indicándolo en los ficheros de configuración)
        $this->load->library('form_validation'); 
        $this->load->helper("url"); //Cargamos el helper de url imprescindible para usar la función base_url
    }
    
    public function index(){
        $this->load->view("formulario_view");
    }


    public function recibirFormulario(){
        if($this->input->post("submit")){
            //Validaciones
                                              //name del campo, titulo, restricciones
            $this->form_validation->set_rules('nombre', 'Nombre', 'required|min_length[3]|alpha|trim');
            $this->form_validation->set_rules('email', 'Email', 'required|min_length[3]|valid_email|trim');
            $this->form_validation->set_rules('password', 'Contraseña', 'required|min_length[3]');
            
            //Mensajes
            // %s es el nombre del campo que ha fallado
            $this->form_validation->set_message('required','El campo %s es obligatorio'); 
            $this->form_validation->set_message('alpha','El campo %s debe estar compuesto solo por letras');
            $this->form_validation->set_message('min_length[3]','El campo %s debe tener mas de 3 caracteres');
            $this->form_validation->set_message('valid_email','El campo %s debe ser un email correcto');
            
             if($this->form_validation->run()!=false){ //Si la validación es correcta
                $datos["mensaje"]="Validación correcta";
             }else{
                $datos["mensaje"]="Validación incorrecta";
             }
             
             $this->load->view("formulario_view",$datos);
        }
    }
    
}
?>

Mas información, reglas de validación, etc

Víctor Robles WEB

Autor: Victor

Desarrollador web - Formador online - Blogger

Compartir este post