| 
                        
                        A login form
                            
                        A contact form
                            
                        A registration form
                            
                        A reservation form
                            
                        Dependencies
                            
                        File upload
                            
                        More rules
                            
                         | 
                        
                            A registration form
                        	
                                try clicking on the submit button without filling the form and then, as you fill the form, to see the
                                JavaScript validation in action
                            for each example, notice how the PHP code of the form remains basically unchanged, despite the template variations
                                disable JavaScript to see the server-side validation in action
                            
                                although in all my examples I use HTML output, you can switch to XHTML output by using the
                                doctye method
                            
                                try the example in another browser and see that it works, out of the box. including IE6!
                             
                        
                        
                        <?php
    // include the Zebra_Form class
    require 'path/to/Zebra_Form.php';
    // instantiate a Zebra_Form object
    $form = new Zebra_Form('form', 'post', '', array('autocomplete' => 'off'));
    // the label for the "first name" element
    $form->add('label', 'label_firstname', 'firstname', 'First name:');
    // add the "first name" element
    $obj = $form->add('text', 'firstname');
    // set rules
    $obj->set_rule(array(
        // error messages will be sent to a variable called "error", usable in custom templates
        'required'  =>  array('error', 'First name is required!'),
    ));
    // "last name"
    $form->add('label', 'label_lastname', 'lastname', 'Last name:');
    $obj = $form->add('text', 'lastname');
    $obj->set_rule(array(
        'required' => array('error', 'Last name is required!')
    ));
    // "email"
    $form->add('label', 'label_email', 'email', 'Email address:');
    $obj = $form->add('text', 'email');
    $obj->set_rule(array(
        'required'  => array('error', 'Email is required!'),
        'email'     => array('error', 'Email address seems to be invalid!')
    ));
    // attach a note to the email element
    $form->add('note', 'note_email', 'email', 'Please enter a valid email address. An email will be sent to this
    address with a link you need to click on in order to activate your account', array('style'=>'width:200px'));
    // "password"
    $form->add('label', 'label_password', 'password', 'Choose a password:');
    $obj = $form->add('password', 'password');
    $obj->set_rule(array(
        'required'  => array('error', 'Password is required!'),
        'length'    => array(6, 10, 'error', 'The password must have between 6 and 10 characters'),
    ));
    $form->add('note', 'note_password', 'password', 'Password must be have between 6 and 10 characters.');
    // "confirm password"
    $form->add('label', 'label_confirm_password', 'confirm_password', 'Confirm password:');
    $obj = $form->add('password', 'confirm_password');
    $obj->set_rule(array(
        'compare' => array('password', 'error', 'Password not confirmed correctly!')
    ));
    // "captcha"
    $form->add('captcha', 'captcha_image', 'captcha_code');
    $form->add('label', 'label_captcha_code', 'captcha_code', 'Are you human?');
    $obj = $form->add('text', 'captcha_code');
    $form->add('note', 'note_captcha', 'captcha_code', 'You must enter the characters with black color that stand
    out from the other characters', array('style'=>'width: 200px'));
    $obj->set_rule(array(
        'required'  => array('error', 'Enter the characters from the image above!'),
        'captcha'   => array('error', 'Characters from image entered incorrectly!')
    ));
    // "submit"
    $form->add('submit', 'btnsubmit', 'Submit');
    // if the form is valid
    if ($form->validate()) {
        // show results
        show_results();
    // otherwise
    } else
        // generate output using a custom template
        $form->render();
?>
 
                        
                            
                                In this example, the output is automatically generated by Zebra_Form's render method. 
                        
                        
                        <!-- must be in strict mode! -->
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Zebra_Form Example</title>
        <!-- load Zebra_Form's stylesheet file -->
        <link rel="stylesheet" href="path/to/zebra_form.css">
    </head>
    <body>
        <!--
            the content from the "PHP Source" tab goes here
        -->
        <!-- we're loading the JavaScript files at the bottom of the page so we don't delay page rendering -->
        <!-- try to load jQuery from CDN server and fallback to local source if not available -->
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
        <script>window.jQuery || document.write('<script src="path/to/jquery-1.9.1.min.js"><\/script>')</script>
        <!-- load Zebra_Form's JavaScript file -->
        <script src="path/to/zebra_form.js"></script>
    </body>
</html>
 
                        
                        
                     |