"");
        parent::__construct('formContact', $options);
    }
    
    protected function generaCamposFormulario($datos, $errores = array()) {
        // Se generan los mensajes de error si existen.
        $htmlErroresGlobales = self::generaListaErroresGlobales($errores);
        $errorNombre = self::createMensajeError($errores, 'name', 'span', array('class' => 'error'));
        $errorEmail = self::createMensajeError($errores, 'email', 'span', array('class' => 'error'));
        $errorMessage = self::createMensajeError($errores, 'message', 'span', array('class' => 'error'));
        // Se genera el HTML asociado a los campos del formulario y los mensajes de error.
        $html = "
";
        return $html;
    }
    
    protected function procesaFormulario($datos) {
        $result = array();
        $nombre = $this->test_input($datos['name']) ?? null;
        if ( empty($nombre) || mb_strlen($nombre) < 3 || mb_strlen($nombre) > 8 ) {
            $result['name'] = "El nombre tiene que tener\n una longitud de más de\n 3 caracteres\n y menos de 8 caracteres.";
        }
        
        $email = $this->test_input($datos['email']) ?? null;
        if ( empty($email) || !mb_ereg_match(self::HTML5_EMAIL_REGEXP, $email) ) {
            $result['email'] = "El email no es válido.";
        }
        $message = $this->test_input($datos['message']) ?? null;
        if ( empty($message) || mb_strlen($message) < 1 || mb_strlen($message) > 250 ) {
            $result['message'] = "El mensaje no puede estar vacío\ny no puede contener más de\n250 caracteres.";
        }
        if (count($result) === 0) {
            $result = ROUTE_APP;  // DE MOMENTO, NO HACE NADA :)      
        }
        
        return $result;
    }
}
?>