Zebra Form

Stay hungry, stay foolish

Steve Jobs

Zebra_Form es una librería PHP que simplifica el proceso de creación y validación de formularios HTML. Su estructura orientada a objetos promueve un rápido desarrollo de formularios HTML y además te permite validarlos.

2

Características:

  • Proporciona protección contra cross-site scripting (XSS)
  • Evita el Spam
  • Validación del lado del servidor y cliente
  • Tiene un montón de reglas predefinidas y además puedes crear tus reglas personalizadas
  • Soporte en todos los principales navegadores, como Firefox, Chrome, Opera, Safari e Internet Explorer 6 +
  • Diseño valido para HTML 4.01 Strict, XHTML 1.0 Strict o HTML5
  • Tiene una amplia documentación

Sitio web.

 

Instalación:

<html>

    <head>

        <title>Zebra_Form Example</title>

        <meta charset="utf-8">

        <!-- load Zebra_Form's stylesheet file -->
        <link rel="stylesheet" href="path/to/zebra_form.css">

        <!-- load jQuery -->
        <script src="path/to/jquery.js"></script>

        <!-- load Zebra_Form's JavaScript file -->
        <script src="path/to/zebra_form.js"></script>

    </head>

    <body>

    <!-- the PHP code below goes here -->

    </body>

</html>
// Llamamos a la librería
require_once BASEPATH . 'library/zebra_form/Zebra_Form.php';
// Creamos el formulario: Nombre del formulario, , METHOD y ACTION
$form = new Zebra_Form('formregister', 'post', 'usuario.php');

// Creamos los campos
// 1.- jemplo de un campo texto
 //Label para el Nombre
    $form->add('label', 'label_nombre', 'nombre', 'Nombre Completo:');
    // Imput para el Nombre
    $obj = & $form->add('text', 'nombre', '', array('autocomplete' => 'off'));
    // validaciones para el nombre en ejemplo se especifica que el campo es requerido y que san solo letras.
// Como se muestra en el ejemplo se pueden escribir los mensajes personalizados
    $obj->set_rule(array(
        'required' => array('error', 'Ingrese el nombre completo'),
        'alphabet' => array(' ', 'error', 'Solo se permiten letras')
    ));
// 2.- ejemplo de un campo email
//Label para el Email
    $form->add('label', 'label_email', 'email', 'Correo:');
    // Input para el Email
    $obj = & $form->add('text', 'email');
    // validaciones para el Email
    $obj->set_rule(array(
        'required' => array('error', 'Ingrese el correo'),
        'email' => array('error', 'Ingrese un correo Valido')
    ));
//3.- ejemplo de un campo contraseña
//Label para el Password
    $form->add('label', 'label_password', 'password', 'Contraseña:');
    // Input para el Password
    $obj = & $form->add('password', 'password');
    // validaciones para el password
    $obj->set_rule(array(
        'required' => array('error', 'Ingrese la contraseña'),
        'length' => array(6, 20, 'error', 'El minimo de caracteres es de seis')
    ));
// se valida que en el campo la contraseña sea igaul al campo anterior
    //Label para el password repeat
    $form->add('label', 'label_passwordtwo', 'passwordtwo', 'Repetir contraseña:');
    // Input para el password repeat
    $obj = & $form->add('password', 'passwordtwo');
    // validaciones password repeat
    $obj->set_rule(array(
        'required' => array('error', 'Escriba nuevamente la contraseña'),
        'compare' => array('password', 'error', 'Las contraseñas no coinciden')
    ));
// 4.- Combox
 $form->add('label', 'label_departmento', 'departmento', 'Departamento:');
    $obj = $form->add('select', 'departmento', '', array('other' => true));
    $obj->add_options(array(
        'Marketing',
        'Operations',
        'Customer Service',
        'Human Resources',
        'Sales Department',
        'Accounting Department',
        'Legal Department',
    ));
    $obj->set_rule(array(
        'required' => array('error', 'El departamento es requerido!')
    ));
// 5.- Capcha
 // Captcha

    $form->add('captcha', 'captcha_image', 'captcha_code');
    $form->add('label', 'label_captcha_code', 'captcha_code', 'Digita el Codigo');
    $obj = & $form->add('text', 'captcha_code', '', array('autocomplete' => 'off'));
    $form->add('note', 'note_captcha', 'captcha_code', 'Digite solo las letras de color negro', array('style' => 'width: 200px'));
    $obj->set_rule(array(
        'captcha' => array('error', 'Los caracteres no coinciden!')
    ));
// 6.- Calendario
 // "date"
    $form->add('label', 'label_date', 'date', 'Fecha de inscripción');
    $date = $form->add('date', 'date');
    $date->set_rule(array(
        'required'      =>  array('error', 'Fecha requerida!'),
        'date'          =>  array('error', 'Fecha invalida!'),
    ));

//Boton para enviar el formulario
    $form->add('submit', 'guardar', 'Guardar');

    // validación que cumpla todos las reglas creadas en el formulario,
// si el formulario esta correcto lo envía, sino muestra nuevamente el mismo.
    if ($form->validate()) {

    }
    else
        $form->render('*vertical');
    ?>

Los ejemplo y documentación los encuentras en:
http://stefangabos.ro/wp-content/demos/Zebra_Form/