Since you’ve already seen how each independent module works, next I’ll integrate them within the same PHP script. The end result of this will be a code fragment that displays the online form; after it’s been submitted, server validation is applied to each mandatory field. Take a closer look: // if form was submitted perform server-side validation if($_POST['send']){ // instantiate form validator object $fv=new formValidator(); $fv->validateEmpty('fname','Enter your first name (Min: 4 characters)'); $fv->validateEmpty('lname','Enter your last name (Min: 4 characters)'); $fv->validateEmail('email','Enter a valid email address'); // check for errors if($fv->checkErrors()){ // display errors echo '<h2>Resubmit the form after correcting the following errors:</h2>'; echo $fv->displayErrors(); } else { echo '<h2>Thank you for submitting your data!</h2>'; } } // create and display form else { try{ // instantiate form generator object $fg=new formGenerator(); $fg->addFormPart('<table>'); $fg->addFormPart('<tr><td>First Name</td><td>'); $fg->addElement('text',array ('name'=>'fname','required'=>array('empty','Enter your First name (at least 4 characters)'))); $fg->addFormPart('</tr>'); $fg->addFormPart('<tr><td>Last Name</td><td>'); $fg->addElement('text',array ('name'=>'lname','required'=>array('empty','Enter your Last name (at least 4 characters)'))); $fg->addFormPart('</tr>'); $fg->addFormPart('<tr><td>Email</td><td>'); $fg->addElement('text',array ('name'=>'email','required'=>array('email','Enter a valid email address'))); $fg->addFormPart('</tr>'); $fg->addFormPart('<tr><td>Comments</td><td>'); $fg->addElement('textarea',array ('name'=>'comments','rows'=>'10','cols'=>'20')); $fg->addFormPart('</tr>'); $fg->addFormPart('<tr><td> </td><td>'); $fg->addElement('submit',array ('name'=>'send','value'=>'Send Data')); $fg->addFormPart('</tr></table>'); echo $fg->display(); } catch(Exception $e){ echo $e->getMessage(); exit(); } } Here, notice how I use the “formValidator” class to check the validity of the data entered into required fields, after the form has been submitted. If any errors are found during the checking process, the warning messages are displayed on the page. Otherwise, the script confirms that submitted data is correct. Similarly, the second part of the script constructs the corresponding form and displays it on the web page, by specifying the form elements to be rendered, as well as the fields on which client-side validation is performed. At this point, you’ll agree the overall script is very readable and each of their sections clearly shows what’s going on. Now, the form processing package that I originally planned to build is completed. As you probably understand, with a wealth of classes behind the scenes charged with the hard work of rendering and processing forms, the use of this library demands only writing some lines of compact and readable code. To provide you with the complete set of classes developed during the course of this series, the last section shows the source code for the entire form processor. So, let’s go there.
blog comments powered by Disqus |
|
|
|
|
|
|
|