public function php($data)
    {
        // Is Server-side Validation Enabled?
        
        if (!$this->getServerSide()) {
            return true;
        }
        
        // Initialise:
        
        $valid = true;
        
        // Validate Fields:
        
        foreach ($this->getFormFields() as $field) {
            $valid = ($field->validate($this) && $valid);
        }
        
        // Validate Rules:
        
        foreach ($this->rules as $fieldName => $rules) {
            
            if ($field = $this->getDataField($fieldName)) {
                
                foreach ($rules as $rule) {
                    
                    // Test Field Data:
                    
                    if (!$rule->test($data[$fieldName])) {
                        $this->validationError($fieldName, $rule->getMessage(), 'validation');
                        $valid = false;
                    }
                    
                }
                
            }
            
        }
        
        // Answer Result:
        
        return $valid;
    }