lunes, 20 de enero de 2014

VALIDADORES CODEIGNITER

LA FUNCIÓN PRESENTADA A CONTINUACIÓN PERMITE VALIDAR 


function validar_guardar() {
        $this->form_validation->set_rules('usuario', 'Usuario', 'required|min_length[4]|max_length[25]|xss_clean|is_unique[cuenta.login]');
        $this->form_validation->set_rules('clave', 'Constraseña', 'required|min_length[6]|max_length[25]|matches[confirmar]|xss_clean');
        $this->form_validation->set_rules('nombre', 'Nombres y  Apellidos', 'required|min_length[7]|max_length[100]|xss_clean');
        $this->form_validation->set_rules('email', 'Email', 'trim|valid_email');

        $this->form_validation->set_message('required', 'Debe introducir el campo %s');

        $this->form_validation->set_message('min_length', 'El campo %s debe ser de al menos %s caracteres');
        $this->form_validation->set_message('max_length', 'El campo %s debe ser menor que %s caracteres');
        $this->form_validation->set_message('valid_email', 'Debe introducir el campo %s');
        $this->form_validation->set_message('is_unique', 'Este USUARIO ya existe !!');
        $this->form_validation->set_message('matches', 'Las contraseñas ingresada no coincide, por favor verifique que sean exactas');

        if ($this->form_validation->run() == FALSE) {

            return FALSE;
        } else {
            return TRUE;
        }
    }

Establecer Reglas  Validación

CodeIgniter le permite establecer tantas reglas de validación como necesite para un campo dado, pornerlas en cascada, e incluso preparar y preprocesar los datos de los campos al mismo tiempo. Para establecer las reglas de validación usará la función set_rules():
$this->form_validation->set_rules();
La función anterior toma como entrada tres parámetros:
  1. Nombre del campo - el mismo que le dio al campo del formulario.
  2. Un nombre "humano" para este campo, que deberá insertarse en el mensaje de error. Por ejemplo, si el campo se llama "usuario" puede darle un nombre humano como "Nombre de Usuario"
  3. Las reglas de validación para este campo de formulario.
Este es un ejemplo. En su controlador (form.php), agregue este código justo debajo de la función de inicialización de la validación:
$this->form_validation->set_rules('username', 'Usuario', 'required');
$this->form_validation->set_rules('password', 'Contraseña', 'required');
$this->form_validation->set_rules('passconf', 'Confirmar Contraseña', 'required');
$this->form_validation->set_rules('email', 'Email', 'required');


Su controlador debería verse así:
<?php
class Form extends CI_Controller {
    function index()
    {
        $this->load->helper(array('form', 'url'));
        $this->load->library('form_validation');
        $this->form_validation->set_rules('username', 'Usuario', 'required');
        $this->form_validation->set_rules('password', 'Contraseña', 'required');
        $this->form_validation->set_rules('passconf', 'Confirmar Contraseña', 'required');
        $this->form_validation->set_rules('email', 'Email', 'required');

        if ($this->form_validation->run() == FALSE)
        {
            $this->load->view('mi_form');
        }
        else
        {
            $this->load->view('form_success');
        }
    }
} ?>


UTILIZACION DE LOS FORM DE CODEIGNITER

UTILIZACION DE LOS FORM DE CODEIGNITER

MEDIANTE EL SIGUIENTE CÓDIGO SE VA A CREAR LOS INPUTS PARA EL INGRESO DE DATOS

ESTE CÓDIGO ESTA HECHO EN UNA DE LAS VISTAS QUE ESTÁN DENTRO DE VIEWS

<?php
                                $datosUsuario=array(
                                    'id'=>'usuario',
                                    'name'=>'usuario',
                                    'size'=>'15',
                                    'maxlength'=>'25',
                                );
                                $datosPassword=array(
                                    'id'=>'clave',
                                    'name'=>'clave',
                                    'size'=>'15',
                                    'maxlength'=>'25',
                                );
                                $datosEmail=array(
                                    'id'=>'email',
                                    'name'=>'email',
                                    'size'=>'15',
                                    'maxlength'=>'25',
                                );
                                $datosNombre=array(
                                    'id'=>'nombre',
                                    'name'=>'nombre',
                                    'size'=>'15',
                                    'maxlength'=>'25',
                                );
  
                                echo form_open('principal/guardarUsuario');
                                    echo '<br>';
                                    echo form_label('Nombre Usuario: ');
                                    echo form_input($datosUsuario);
                                    echo '<br>';
                                    echo '<br>';
                                    echo form_label('Contrasenia: ');
                                    echo form_password($datosPassword);
                                    echo '<br>';                                    
                                    echo '<br>';
                                    echo form_label('Email: ');
                                    echo form_input($datosEmail);
                                    echo '<br>';  
                                    echo '<br>'; 
                                    echo form_label('Nombres Apellidos: ');
                                    echo form_input($datosNombre);
                                    echo '<br>';
                                    echo '<br>';
                                    echo form_submit('mienvio','Guardar');  
                                echo form_close();
                                ?>




ESPECIFICACIÓN DE LO QUE REALIZA CADA FORM 

form_input ()

Le permite generar un campo de entrada de texto estándar. Puede pasar mínimamente el nombre del campo y el valor en el primer y segundo parámetro:
echo form_input ('nombre de usuario', 'juansoto');
O bien, puede pasar una matriz asociativa que contiene los datos que desea incluir en su formulario:

$ Data = array ( 
              'nombre' => 'nombre de usuario', 
              'id' => 'nombre de usuario', 
              'valor' => 'juansoto', 
              'maxlength' => '100 ', 
              'size' => '50 ', 
              'estilo' => 'width: 50%', 
            ); echo form_input ($ data); / / Podría producir: <input type = "text" name = "nombre de usuario" id = "nombre de usuario" value = "juansoto" maxlength = "100" size = "50" style = "width: 50%" />


form_password ()

Esta función es idéntica en todos los aspectos al () form_input función anterior excepto que se establece como un tipo "password".

form_upload ()

Esta función es idéntica en todos los aspectos al () form_input función anterior excepto que se establece como un tipo "file", lo que le permite ser utilizado para cargar archivos.

form_textarea ()

Esta función es idéntica en todos los aspectos al () form_input función anterior salvo que genera un tipo "textarea". Nota: En lugar de la "maxlength" y el "tamaño" de atributos en el ejemplo anterior, usted especificar en su lugar "filas" y "cols".

form_dropdown ()

Le permite crear un campo desplegable estándar. El primer parámetro contendrá el nombre del campo, el segundo parámetro contendrá un array asociativo de opciones, y el tercer parámetro contendrá el valor que desea seleccionar. También puede pasar una matriz de múltiples artículos a través del tercer parámetro, y CodeIgniter creará una selección múltiple para usted. Ejemplo:

form_checkbox ()

Le permite generar un campo de casilla de verificación. Un simple ejemplo:
echo form_checkbox ('newsletter', 'aceptar', TRUE); / / Podría producir: <input type="checkbox" name="newsletter" value="accept" checked="checked" />

El tercer parámetro contiene un valor booleano TRUE / FALSE para determinar si el cuadro se debe comprobar o no.
Al igual que en el resto de funciones de formulario en esta ayuda, también puede pasar una matriz de atributos a la función:
$ Data = array ( 
    'nombre' => 'newsletter', 
    'id' => 'newsletter', 
    'valor' => 'aceptar', 
    'marcada' => TRUE, 
    'estilo' => 'margin: 10px', 
    ); echo form_checkbox ($ data); / / Podría producir: <input type="checkbox" name="newsletter" id="newsletter" value="accept" checked="checked" style="margin:10px" />

form_radio ()

Esta función es idéntica en todos los aspectos al () form_checkbox función anterior excepto que se establece como un tipo "radio".

form_submit ()

Le permite generar un botón de envío estándar. Un simple ejemplo:
echo form_submit ('mysubmit', '! Enviar Mensaje'); / / Podría producir: <input type = "submit" nombre = valor "mysubmit" = "Enviar mensaje" />

Al igual que otras funciones, puede presentar una matriz asociativa en el primer parámetro para que pueda establecer sus propios atributos. El tercer parámetro te permite añadir datos adicionales al formulario, como JavaScript.

form_label ()

Le permite generar un <label>. Un simple ejemplo:
echo form_label ('¿Cuál es su nombre', 'username'); / / produciría: <label for="username"> ¿Cuál es su nombre </ label>
echo form_label ('¿Cuál es su nombre', 'username', $ atributos); / / deberían producir: <label for="username" class="mycustomclass" style="color: #000;"> ¿Cuál es su nombre </ label>

form_reset ()

Le permite generar un botón de reinicio estándar. Uso es idéntica a form_submit () .

form_button ()

Le permite generar un elemento de botón estándar. Puede pasar mínimamente el nombre del botón y el contenido en el primer y segundo parámetro:
echo form_button ('nombre', 'contenido'); / / Podría producir <button name="nombre" type="button"> contenido botón </>

O puede pasar una matriz asociativa que contiene los datos que desea incluir en su formulario :
$ data = array ( 
    'nombre' => 'botón', 
    => 'botón' 'id', 
    =>, 'true', 'valor' 
    'type' => 'reset', 
    'contenido' => 'Reset' 
); echo form_button ($ data); / / Podría producir: <button name="button" id="button" value="true" type="reset"> Restablecer Botón </> 

Si desea que su forma de contener algunos datos adicionales, como JavaScript, puede pasarlo como una cadena en el tercer parámetro:
$ js = 'onClick = "some_function ()"'; echo form_button ('myButton', 'Haga clic en mí', $ js); 


Form_Close ()

Produce un cierre </ form>. La única ventaja de usar esta función es lo que permite pasar los datos a lo que se añadirán a continuación de la etiqueta. Por ejemplo:
$ String = "</ div> </ div>"; echo Form_Close ($ string); / / produciría: </ form> </ div> </ div>