Validación fecha de nacimiento

Buenas tardes, les comento que estamos utilizando la versión 3.10 de preinscripción y detectamos que no se está validando la fecha de nacimiento en la sección Datos Principales. En el archivo de configuración php de dicho formulario form_datos_principales se encuentra la función validar_fecha_nacimiento pero no está validando que la persona sea mayor a 15 años. El código de la función es el siguiente:


	/**
	 * Se valida que la persona sea mayor de 15 años al momento de la preinscripción.
	 */
	protected function validar_fecha_nacimiento()
	{
		$valido = true;
		$datos = $this->get_datos();
		if (!empty($datos['fecha_nacimiento'])) {
			$fecha_nacimiento = $datos['fecha_nacimiento'];

			// Se valida que el año de nacimiento sea posterior a 1900
			$fecha_partes = explode('/', $fecha_nacimiento);

			if (isset($fecha_partes[2]) && $fecha_partes[2] <= 1900) {
				$this->agregar_error('fecha_nacimiento', kernel::traductor()->trans('error_fecha_antigua'));
				$valido = false;
			}

			// Se valida la fecha de nacimiento no sea posterior a la actual
			if ($valido) {
				if (fecha_es_mayor_a_fecha_actual(convertir_fecha_formato_base($fecha_nacimiento))) {
					$this->agregar_error('fecha_nacimiento', kernel::traductor()->trans('error_fecha_posterior'));
					$valido = false;
				}
			}
		}
		return $valido;
	}

Saludos.

Hola
Esa restricción se sacó hace un tiempo, pero quedó desactualizado el comentario en el código si la necesitan pueden personalizar para agregarla.

// Se valida que la persona tenga al menos 15 años.
			if ($valido) {
				// Se obtiene la fecha actual
				$hoy = date('Y-m-d');
				// Se obtiene la fecha desplazada en -15 años...
				$fecha_comparacion = get_fecha_desplazada($hoy, -15);
				// Se compara que la fecha actual sea menor o igual a la fecha de comparación
				$diff = strtotime(convertir_fecha_formato_base($fecha_nacimiento)) - strtotime($fecha_comparacion);
				
				if ($diff <= 0) {
					// La persona es mayor de 15 años
					$valido = true; 
			         } else {
					$this->agregar_error('fecha_nacimiento', kernel::traductor()->trans('error_fecha_nacimiento'));
					$valido = false;
 				}
			}


cualquier consulta avisanos
saludos
4

Hola Jesica, genial lo agregamos como una personalización más.
Muchas gracias.

Buenas tardes, retomo este tema y consulto…porqué motivo se quitó la validación de que la persona tenga más de 15 años?

Es un error recurrente que aparece en la validación de los datos generados para Araucano, estaría bueno si se podría validar la fecha de nacimiento al momento de la carga por parte de los alumnos.

Muchas gracias.

Ezequiel Molina
Fac. de Cs. Agrarias - UNJu