root/trunk/examples/example_clientside_date.php

Revision 117, 2.7 kB (checked in by argh, 4 years ago)

Massive update of the examples collection; added the patExampleGen examples framework; commented all examples; reworked all the templates...

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 <?php
2 /**
3  * Example for the Date element
4  *
5  * $Id$
6  *
7  * @access        public
8  * @package        patForms
9  * @subpackage    Examples
10  * @author        Sebastian Mordziol <argh@php-tools.net>
11  * @license        LGPL, see license.txt for details
12  * @link        http://www.php-tools.net
13  */
14
15     /**
16      * Main examples prepend file, needed *only* for the examples framework!
17      */
18     include_once 'patExampleGen/prepend.php';
19     $exampleGen->displayHead( 'Example' );
20
21     
22     
23     /**
24      * main patForms class
25      */
26     require_once $neededFiles['patForms'];
27     
28     /**
29      * patErrorManager class
30      */
31     require_once $neededFiles['patErrorManager'];
32
33     
34     // element definitions for this example
35     $elementsDefinition = array(
36         'xmess' => array(
37             'type' => 'Date',
38             'attributes' => array(
39                 'required'        =>    'yes',
40                 'display'        =>    'yes',
41                 'edit'            =>    'yes',
42                 'label'            =>    'X-Mess eve',
43                 'title'            =>    'X-Mess',
44                 'description'    =>    'Tell me when you celebrate x-mess.',
45                 'dateformat'    =>    '%d.%m.%Y %H:%M',
46                 'default'        =>    '2001-12-24 07:30:42',
47                 'onchange'        =>    'alert( pfe_xmess.getDate() )',
48             ),
49         ),
50     );
51     
52     // create the form
53     $form    =&    patForms::createForm( $elementsDefinition, array( 'name' => 'myForm' ) );
54     
55     // create the needed renderer
56     $renderer    =&    patForms::createRenderer( "Array" );
57     
58     // set the renderer
59     $form->setRenderer( $renderer );
60     
61     // use auto-validation
62     $form->setAutoValidate( 'save' );
63
64     // serialize the elements
65     $elements    =    $form->renderForm();
66     
67     
68     // ERROR DISPLAY ------------------------------------------------------
69
70     // ask the form if it has been submitted
71     if( $form->isSubmitted() )
72     {
73         // get and display errors as needed
74         $errors = $form->getValidationErrors();
75         if( $errors )
76         {
77             echo "<b>patForms:</b> validation failed. Errors:<br><br>";
78             
79             // each element can have several error messages.
80             foreach( $errors as $elementName => $elementErrors )
81             {
82                 if( empty( $elementErrors ) )
83                     continue;
84                     
85                 echo 'Field: <b>'.$elementName.'</b>';
86                 echo "<pre>";
87                 print_r( $elementErrors );
88                 echo "</pre>";
89             }
90         }
91         else
92         {
93             echo "<b>patForms:</b> validation successful.<br><br>";
94         }
95     }
96
97
98     // DISPLAY FORM ------------------------------------------------------
99
100     // output the opening form tag
101     echo     $form->serializeStart();
102
103     // display all elements
104     foreach( $elements as $element )
105     {
106         echo $element["label"]."<br>";
107         echo "<div>".$element["element"]."</div>";
108         echo "<i>".$element["description"]."</i><br><br>";
109     }
110
111     // submit button, closing form tag
112     echo '<input type="submit" name="save" value="Save form"/><br><br>';
113     echo $form->serializeEnd();
114
115
116     
117     
118     // EXAMPLE END ------------------------------------------------------
119     $exampleGen->displayFooter();
120 ?>
Note: See TracBrowser for help on using the browser.