<?php
 
/***
 
* Class Validit used for validating user submitted data.
 
* Author:        Richard Hayes
 
* E-mail:        [email protected]
 
* Web:            www.cuttingimage.com
 
* Date Created:        28-05-03
 
* Last Modified:    28-05-03
 
* Version:        1.0
 
* License:        GPL
 
***/
 
class Validit
 
{
 
    /***
 
    * Stores error messages for when the user submits invalid data
 
    * @type array 
 
    ***/
 
    var $errorList;
 
 
    /***
 
    * Constructor 
 
    ***/
 
    function Validit()
 
    {
 
        $this -> errorList = array();
 
    }
 
 
    /***
 
    * Used by validating methods as a final call, removes whitespace 
 
    * @param $value data for cleaning 
 
    * @returns void 
 
    ***/
 
    function trim(&$value)
 
    {
 
        $value = trim($value);
 
    }
 
 
    /***
 
    * Adds an error message to the array
 
    * @return void
 
    ***/
 
    function setError($msg)
 
    {
 
        $this -> errorList[] = $msg;
 
    }
 
 
    /***
 
    * Reseting the error list 
 
    * @returns void 
 
    ***/
 
    function resetErrorList()
 
    {
 
        unset($this -> errorList);
 
    }
 
 
    /***
 
    * Returns error list 
 
    * @returns array 
 
    ***/
 
    function getErrors()
 
    {
 
        return $this -> errorList;
 
    }
 
 
    /***
 
    * Check if string is alphabetic 
 
    * @param $value string to check 
 
    * @param $msg error message for non-alphabetic strings 
 
    * @param $allow additional characters to allow other than letters. For space chars use reg-ex "[:space:]"
 
    * @returns mixed 
 
    ***/
 
    function alphaCheck(&$value, $msg, $allow = '')
 
    {
 
        preg_match('/^[a-zA-Z'.$allow.']+$/', $value) ? $this -> trim($value) : $this -> setError($msg);
 
        return $value;
 
    }
 
 
    /***
 
    * Check for numeric values 
 
    * @param $value to check 
 
    * @param $msg error message for non-numeric values
 
    * @returns mixed 
 
    ***/
 
    function numericCheck(&$value, $msg)
 
    {
 
        is_numeric($value) ? $this -> trim($value) : $this -> setError($msg);
 
        return $value;
 
    }
 
 
    /***
 
    * Check for alphanumeric values 
 
    * @param $value to check 
 
    * @param $msg error message for non- alphanumeric values
 
    * @param $allow additional characters to allow other than integers and letters. For space chars use reg-ex "[:space:]"
 
    * @returns mixed 
 
    ***/
 
    function alphaNumericCheck(&$value, $msg, $allow = '')
 
    {
 
        preg_match('/^[a-zA-Z0-9'.$allow.']+$/', $value) ? $this -> trim($value) : $this -> setError($msg);
 
        return $value;
 
    }
 
 
    /***
 
    * Check for identical comparisons 
 
    * @param $value value one to compare 
 
    * @param $value2 value two to compare 
 
    * @param $msg error message for invalid email addresses 
 
    * @returns mixed 
 
    ***/
 
    function compareCheck(&$value, $value2, $msg)
 
    {
 
        $value ===  $value2 ? $this -> trim($value) : $this -> setError($msg);
 
        return $value;
 
    }
 
 
    /***
 
    * Check that field complies to max and min length restrictions
 
    * @param $value string to check 
 
    * @param $msg error message for empty strings 
 
    * @param $max_length maximum length the data is allowed to be 
 
    * @param $min_length minimum length of string 
 
    * @returns mixed 
 
    ***/
 
    function lengthCheck(&$value, $msg, $max_length, $min_length = 0)
 
    {
 
        !(strlen($value) > $max_length) && !(strlen($value) < $min_length) ? $this -> trim($value) : $this -> setError($msg);
 
        return $value;
 
    }
 
 
    /***
 
    * Check for valid email addresses 
 
    * @param $value email to check 
 
    * @param $msg error message for invalid email addresses 
 
    * @returns mixed 
 
    ***/
 
    function emailCheck(&$value, $msg)
 
    {
 
        $pattern = '/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/';
 
 
        preg_match($pattern, $value) ? $this -> trim($value) : $this -> setError($msg);
 
        return $value;
 
    }
 
 
    /***
 
    * Reseting the error list 
 
    * @returns void 
 
    ***/
 
    function resetErrorMessage()
 
    {
 
        unset($this -> errorList);
 
    }
 
}
 
?>
 
 |