<?php
/*
 * @author Álvaro Allén Perlines
 * @since 28-10-2025
 * Libreria de funciones de validación de campos de cuestionario.
 */
    class miLibreriaValidacion{
        /*
         * Función para validar si una fecha de nacimiento es valida según el año indicado.
         * 
         * @param DateTime $fechaEnviada que es la fecha que se recibe en el cuestionario/formulario.
         * @param int $edad que es la edad recibida en el cuestionario.
         * @return string $mensajeError que contiene un texto con el motivo del error de validación o, en caso de no haber erorres, contiene valor null.
         */
        public static function validarNacimiento($fechaEnviada, $edad){
            // Declaramos e inicializamos la variable de retorno $mensajeError a null.
            $mensajeError = null;
            
            // Declaramos e inicializamos la variable de tipo DateTime $fechaNacimiento con el valor de $fechaEnviada.
            $fechaNacimiento = new DateTime($fechaEnviada);
            // Declaramos e inicializamos la variable de tipo DateTime $fechaActual con la fecha actual.
            $fechaActual = new DateTime('now', new DateTimeZone('Europe/Madrid'));
            
            // Si la edad recibida es diferente a la diferencia de la fecha recibida en el formulario menos la fecha de nacimiento entonces no será valida.
            if($edad != $fechaNacimiento->diff($fechaActual)->y){
                // Cambiamos la variable $mensajeError para que indique el motivo del error.
                $mensajeError = "La edad y la fecha no son compatibles.";
            }
            
            // Retornamos la variable
            return $mensajeError;
        }
    }
?>