<?PHP 
/** 
 * 
 * FormValidator 
 * 
 * Example of usage 
 */ 
 
/* 
  Parameters of form elem that are being processed by the class 
$elem = array ( 
   'name'      => string,  // all 
   'type'      => string,  // text or select 
                           // text covers html types: text, textarea, hidden, password  
                           // select covers html types: select, checkbox and radio 
   'label'     => string,  // field label ( eg. 'Phone number' ) 
   'required'  => boolean, // field must have value 
   'cont'      => string,  // content type: email, word, alpha, digit 
   'ereg'      => string,  // text, textarea 
   'preg'      => string,  // text, textarea 
   'len'       => integer, // accurate length 
   'len_min'   => integer, // min length 
   'len_max'   => integer, // max length 
   'val_max'   => integer, // max value of an integer ( use with cont == digit ) 
   'val_min'   => integer, // min value of an integer ( use with cont == digit ) 
    'values'    => array;   // select accepted values 
    'forbid'    => array;   // forbidden values that match other criteria 
   'arr_size_min' => integer // when field name is an array( eg. 'phones[]' )  
                           // minimum number of elements in array 
   // Fields dependencies 
 
    
   'eqal'      => mixed,   // array or string,  
                           // value of this field must be equal to value of field in array()  
                                   // eg. in when there are two password boxes either array or string 
   'with'      => mixed,   // array or string, value must exist with other value(s) 
   'alt_or'    => mixed,   // array or string, at least one of fields must have a value 
   'alt_xor'   => mixed   // array or string, only one field must have a value 
); 
*/ 
 
 
require('FormValidator.class.php'); 
 
// Form elements definition 
$elems[] = array('name'=>'sex','label'=>'sex', 'type'=>'select', 'required'=>true, 'values' => array('Mr.', 'Mrs.', 'Miss', 'Ms.')); 
$elems[] = array('name'=>'fname','label'=>'Firstname', 'type'=>'text', 'required'=>true, 'len_max'=>'30'); 
$elems[] = array('name'=>'sname','label'=>'Family Name', 'type'=>'text', 'required'=>true, 'len_max'=>'30'); 
$elems[] = array('name'=>'strsel', 'type'=>'select', 'required'=>true, 'values' => array('street','square')); 
$elems[] = array('name'=>'street', 'type'=>'text', 'required'=>true, 'len_max'=>'30'); 
$elems[] = array('name'=>'strno', 'type'=>'text', 'required'=>true, 'len_max'=>'5'); 
$elems[] = array('name'=>'appartment', 'type'=>'text', 'len_max'=>'4'); 
$elems[] = array('name'=>'pcode1', 'type'=>'text', 'required'=>true, 'len'=>'2', 'cont' => 'digit'); 
$elems[] = array('name'=>'pcode2', 'type'=>'text', 'required'=>true, 'len'=>'3', 'cont' => 'digit'); 
$elems[] = array('name'=>'city', 'type'=>'text', 'required'=>true, 'len_max'=>'30'); 
$elems[] = array('name'=>'phone', 'type'=>'text', 'required'=>true, 'len_max'=>'30'); 
$elems[] = array('name'=>'email', 'type'=>'text', 'required'=>true, 'len_max'=>'30', 'cont' => 'email'); 
$elems[] = array('name'=>'pass1', 'type'=>'text', 'required'=>true, 'len_min'=>'5', 'len_max'=>'30'); 
$elems[] = array('name'=>'pass2', 'type'=>'text', 'required'=>true, 'len_min'=>'5', 'len_max'=>'30', 'equal'=> array('pass1')); 
$elems[] = array('name'=>'ppref', 'type'=>'text', 'len'=>'2', 'arr_size_min'=>1, 'with'=>'pnum', 'cont' => 'digit'); 
$elems[] = array('name'=>'pnum', 'type'=>'text', 'len'=>'7', 'arr_size_min'=>1, 'with'=>'ppref', 'cont' => 'digit'); 
 
 
// validate form 
if ( $_GET['a'] == 's' ) { 
    $f = new FormValidator($elems); 
    $err = $f->validate($_GET); 
     
    if ( $err === true ) { 
        echo '<br>You need to correct following fields<br><br>'; 
         
        $valid = $f->getValidElems(); 
         
        foreach ( $valid as $k => $v ) { 
            if ( $v[1] == false ) { 
                // Empty label field 
                if ( empty($v[2]) ) { 
                    // then echo the form name of a field 
                    echo $k.'<br>'; 
                } 
                else { 
                    echo $v[2].'<br>'; 
                } 
            } 
        } 
    } 
    else { 
        echo '<br><h3>Form was successfully validated with no errors!</h3><br><br>'; 
    } 
     
} 
 
?> 
 
<form action="example.php" method="get"> 
<input type="hidden" name="a" value="s"> 
<table> 
<tr> 
    <td> </td> 
    <td> 
        <select name="sex"> 
            <option <?php if ($_GET['sex']=="Mr.") { echo 'selected';} ?>>Mr.</option> 
            <option <?php if ($_GET['sex']=="Mrs.") { echo 'selected';} ?>>Mrs.</option> 
            <option <?php if ($_GET['sex']=="Miss") { echo 'selected';} ?>>Miss</option> 
            <option <?php if ($_GET['sex']=="Ms.") { echo 'selected';} ?>>Ms.</option> 
        </select> 
    </td> 
</tr> 
<tr> 
    <td>Name(s)</td> 
    <td> 
        <input name="fname" size="18" value="<?= $_GET['fname'] ?>" class="{$err_c.fname[0]}" /> 
    </td> 
</tr> 
<tr> 
    <td>Family name</td> 
    <td> 
        <input name="sname" size="18" value="<?= $_GET['sname'] ?>" class="{$err_c.sname[0]}" /> 
    </td> 
</tr> 
<tr> 
    <td> Address of residence</td> 
    <td> 
        <table> 
        <tr> 
            <td colspan="2">  street</td> 
            <td> No</td> 
            <td> appartment</td> 
        </tr> 
        <tr> 
            <td> 
                <select name="strsel"> 
                    <option <?php if ($_GET['strsel']=='street') { echo 'selected';} ?>>street</option> 
                    <option <?php if ($_GET['strsel']=='square') { echo 'selected';} ?>>square</option> 
                </select> 
            </td> 
            <td> 
                <input size="10" name="street" value="<?= $_GET['street'] ?>"" class="{$err_c.street[0]}" /> 
            </td> 
            <td> 
                <input size="2" name="strno" value="<?= $_GET['strno'] ?>" class="{$err_c.strno[0]}" /> 
            </td> 
            <td> 
                <input size="2" name="appartment" value="<?= $_GET['appartment'] ?>" class="{$err_c.appartment[0]}" /> 
            </td> 
        </tr> 
        </table> 
    </td> 
</tr> 
<tr> 
    <td> Post Code</td> 
    <td> 
        <input maxlength="2" size="2" name="pcode1" value="<?= $_GET['pcode1'] ?>" class="{$err_c.pcode1[0]}" />- 
        <input maxlength="3" size="3" name="pcode2" value="<?= $_GET['pcode2'] ?>" class="{$err_c.pcode2[0]}" /> 
    </td> 
</tr> 
<tr> 
    <td> City</td> 
    <td> 
        <input name="city" size="18" value="<?= $_GET['city'] ?>" class="{$err_c.city[0]}" /> 
    </td> 
</tr> 
<tr> 
    <td> Contact Phone</td> 
    <td> 
        <input name="phone" size="18" value="<?= $_GET['phone'] ?>" class="{$err_c.phone[0]}" /> 
    </td> 
</tr> 
<tr> 
    <td> E-mail</td> 
    <td> 
        <input name="email" size="18" value="<?= $_GET['email'] ?>" class="{$err_c.email[0]}" /> 
    </td> 
</tr> 
<tr> 
    <td> Hasło minimum 5 letters</td> 
    <td> 
        <input type="password" value="<?= $_GET['pass1'] ?>" name="pass1" size="18" class="{$err_c.pass1[0]}" /> 
    </td> 
</tr> 
<tr> 
    <td> Confirm password</td> 
    <td> 
        <input type="password" value="<?= $_GET['pass2'] ?>" name="pass2" size="18" class="{$err_c.pass2[0]}" /> 
    </td> 
</tr> 
<tr> 
    <td> Phone numbers you are calling from phone number</td> 
    <td > 
        <table> 
        <tr> 
            <td> city code</td> 
            <td> phone numbers</td> 
            <td> </td> 
        </tr> 
 
        <tr> 
            <td> 
                <input maxlength="2" size="2" name="ppref[]" value="<?= $_GET['ppref'][0] ?>" class='{$err_c.ppref[0]}' /> 
            </td> 
            <td> 
                <input maxlength="7" size="8" name="pnum[]" value="<?= $_GET['pnum'][0] ?>" class='{$err_c.pnum[0]}' /> 
            </td> 
            <td> </td> 
        </tr> 
         
        <tr> 
            <td> 
                <input maxlength="2" size="2" name="ppref[]" value="<?= $_GET['ppref'][1] ?>" class='{$err_c.ppref[1]}' /> 
            </td> 
            <td> 
                <input maxlength="7" size="8" name="pnum[]" value="<?= $_GET['pnum'][1] ?>" class='{$err_c.pnum[1]}' /> 
            </td> 
            <td> </td> 
        </tr> 
 
        <tr> 
            <td> 
                <input maxlength="2" size="2" name="ppref[]" value="<?= $_GET['ppref'][2] ?>" class='{$err_c.ppref[2]}' /> 
            </td> 
            <td> 
                <input maxlength="7" size="8" name="pnum[]" value="<?= $_GET['pnum'][2] ?>" class='{$err_c.pnum[2]}' /> 
            </td> 
            <td> </td> 
        </tr> 
         
        <tr> 
            <td> </td> 
            <td> 
                <div align="right"> <br /> 
                    <input type="submit" value="send" /> 
                </div> 
            </td> 
            <td> </td> 
        </tr> 
        </table> 
    </td> 
</tr> 
</table> 
 
</body> 
</html> 
 
 
 |