View Source

/hsphere/local/home/c251266/sunsetvines.com/www.sunsetvines.com/sunsetvines/current/vendor/creovel/classes/validation.php (3.855 KB)

#0001  
#0002  
#0003  
#0004  
#0005  
#0006  
#0007  
#0008  
#0009  
#0010  
#0011  
#0012  
#0013  
#0014  
#0015  
#0016  
#0017  
#0018  
#0019  
#0020  
#0021  
#0022  
#0023  
#0024  
#0025  
#0026  
#0027  
#0028  
#0029  
#0030  
#0031  
#0032  
#0033  
#0034  
#0035  
#0036  
#0037  
#0038  
#0039  
#0040  
#0041  
#0042  
#0043  
#0044  
#0045  
#0046  
#0047  
#0048  
#0049  
#0050  
#0051  
#0052  
#0053  
#0054  
#0055  
#0056  
#0057  
#0058  
#0059  
#0060  
#0061  
#0062  
#0063  
#0064  
#0065  
#0066  
#0067  
#0068  
#0069  
#0070  
#0071  
#0072  
#0073  
#0074  
#0075  
#0076  
#0077  
#0078  
#0079  
#0080  
#0081  
#0082  
#0083  
#0084  
#0085  
#0086  
#0087  
#0088  
#0089  
#0090  
#0091  
#0092  
#0093  
#0094  
#0095  
#0096  
#0097  
#0098  
#0099  
#0100  
#0101  
#0102  
#0103  
#0104  
#0105  
#0106  
#0107  
#0108  
#0109  
#0110  
#0111  
#0112  
#0113  
#0114  
#0115  
#0116  
#0117  
#0118  
#0119  
#0120  
#0121  
#0122  
#0123  
#0124  
#0125  
#0126  
#0127  
#0128  
#0129  
#0130  
#0131  
#0132  
#0133  
#0134  
#0135  
#0136  
#0137  
#0138  
#0139  
#0140  
#0141  
#0142  
<?php
/*
 * Validation class.
 */
class validation
{

    
/**
     * Class constants.
     *
     * @author Nesbert Hidalgo
     * @access public
     */
    
const FIELD_NAME '@@field_name@@';
    const 
VALUE '@@value@@';
    
    public function 
__construct(&$errors)
    {
        
$this->errors $errors;
    }
    
    
/**
     * Base function to validate by boolean value.
     * 
     * @author Nesbert Hidalgo
     * @access private
     * @param bool $bool required
     * @param string $field required
     * @param mixed $val required
     * @param string $msg optional
     * @param string $required optional
     * @return bool 
     */
    
private function validate_field_by_bool($bool$field$val$msg null$required false)
    {
        switch ( 
true ) {
            case ( 
$required && $val && $bool ):
            case ( !
$required && $val && $bool ):
            case ( !
$required && !$val ):
                return 
true;
            break;
            
            default:
                
$this->errors->add($field$msg);
                return 
false;
            break;            
        }
    }
    
    
/**
     * Format error message by adding fieldname or value we needed
     * 
     * @author Nesbert Hidalgo
     * @access private
     * @param string $field required
     * @param mixed $val required
     * @param string $msg required
     * @param string $default_msg required
     * @return string 
     */
    
private function format_message($field$val$msg$default_msg)
    {
        
$message $msg $msg $default_msg;
        
        
// check for fieldname and humanze it
        
if ( strstr($messageself::FIELD_NAME) ) {
            
$message str_replace(self::FIELD_NAMEhumanize($field), $message);
        }
        
        
// check for value and insert it into the message
        
if ( strstr($messageself::VALUE) ) {
            
$message str_replace(self::VALUE$val$message);
        }
        
        return 
$message;        
    }
    
    
/**
     * Validates that $val is not empty.
     * 
     * @author Nesbert Hidalgo
     * @access public
     * @param string $field required
     * @param mixed $val required
     * @param string $msg optional default is "... is a required field."
     * @return bool
     */
    
public function validates_presence_of($field$val$msg null)
    {
        return 
self::validate_field_by_bool(true$fieldtrim($val), self::format_message($field$val$msgself::FIELD_NAME." is a required field."), true);
    }

    
/**
     * Validates $val with a regular expression $pattern using preg_match().
     * 
     * @author Nesbert Hidalgo
     * @access public
     * @param string $field required
     * @param mixed $val required
     * @param string $msg optional default is "... is invalid."
     * @param bool $required default is false
     * @param string $pattern required regular expression
     * @return bool
     */
    
public function validates_format_of($field$val$msg null$required false$pattern false)
    {
        return 
self::validate_field_by_bool(preg_match($pattern$val), $field$valself::format_message($field$val$msgself::FIELD_NAME." is invalid."), $required);
    }
    
    
/**
     * Validates that $val is a valid email address.
     * 
     * @author Nesbert Hidalgo
     * @access public
     * @param string $field required
     * @param mixed $val required
     * @param string $msg optional default is "... is an invalid email address."
     * @param bool $required optional default is false
     * @return bool
     */
    
public function validates_email_of($field$val$msg null$required false)
    {
        return 
self::validate_field_by_bool(is_email($val), $field$valself::format_message($field$val$msgself::FIELD_NAME." is an invalid email address."), $required);
    }
    
    
/**
     * Validates that $val is numeric.
     * 
     * @author Nesbert Hidalgo
     * @access public
     * @param string $field required
     * @param mixed $val required
     * @param string $msg optional default is "... is not a number."
     * @param bool $required optional default is false
     * @return bool
     */    
    
public function validates_numericality_of($field$val$msg null$required false)
    {
        return 
self::validate_field_by_bool(is_number($val), $field$valself::format_message($field$val$msgself::FIELD_NAME." is not a number."), $required);
    }
}
?>