Releases: GianfrancoD/useTargetHandler
Version 1.2.5 🚀
Versión 1.2.5 - Mejoras en Manejo de Errores y Sentry 🎉
Resumen
Esta versión incluye importantes mejoras en el manejo de errores y la integración con Sentry en el hook useTargetHandler
. Se solucionó un problema donde los errores no se capturaban correctamente, lo que permite un mejor seguimiento y manejo de excepciones en la aplicación. Además, se optimizó el rendimiento general del hook, asegurando una experiencia de usuario más fluida y eficiente. 🚀
Cambios
- Integración Mejorada con Sentry 🛠️:
useTargetHandler
ahora se integra de forma más fluida con Sentry, permitiendo registrar advertencias, errores, información y eventos específicos durante el proceso de envío de formularios. Esto facilita el seguimiento de problemas y la depuración de errores. - Nuevos Parámetros ➕: Se han agregado los siguientes parámetros a
useTargetHandler
:SentryWarning
: Permite registrar advertencias en Sentry.⚠️ SentryError
: Permite registrar errores en Sentry. ❌SentryInfo
: Registra información relevante en Sentry durante el proceso de envío. ℹ️SentryEvent
: Registra eventos específicos en Sentry. 🎊
- Optimización del Rendimiento ⚡: Se han realizado mejoras en el rendimiento general del hook
useTargetHandler
, asegurando una experiencia de usuario más fluida y eficiente. - Manejo de Errores Mejorado 🔧: Se solucionó un problema donde los errores no se capturaban correctamente, lo que permite un mejor seguimiento y manejo de excepciones en la aplicación.
Beneficios
- Mejor seguimiento y manejo de errores gracias a la integración con Sentry. 📊
- Facilidad para depurar problemas y analizar el comportamiento del usuario. 🔍
- Experiencia de usuario mejorada gracias a las optimizaciones de rendimiento. 🌟
Actualización
Para actualizar a la versión 1.2.5, simplemente instala la última versión del paquete que contiene useTargetHandler
. Si estás utilizando npm:
npm install usetargethandler@latest
Después de la actualización, useTargetHandler
estará listo para usar con las nuevas funcionalidades de Sentry y las mejoras de rendimiento. 🎈
version 1.2.4 🚀
Release de la Versión 1.2.4 de useTargetHandler
[1.2.4] - 2024-08-10
Mejoras y Nuevas Funcionalidades 🚀
🌟 Limitación de Tasa (Rate Limiting)
- Descripción: Se ha implementado una funcionalidad de limitación de tasa que previene el envío excesivo de solicitudes en un corto período de tiempo.
- Funcionalidad: Ahora puedes establecer un intervalo de tiempo mínimo entre envíos de formularios, mejorando la experiencia del usuario y la estabilidad del servidor.
- Uso: Ajusta el parámetro
rateLimit
al utilizar el hook para definir el tiempo de espera entre envíos, evitando la sobrecarga del servidor.
🛡️ Sanitización de Entradas
- Descripción: La función de sanitización de entradas ha sido mejorada para proteger contra ataques de inyección de código.
- Funcionalidad: La función
sanitizeInput
elimina etiquetas HTML y scripts potencialmente dañinos de los valores de entrada, asegurando que solo se almacenen datos limpios y seguros. - Impacto: Esto es crucial para prevenir ataques de Cross-Site Scripting (XSS), garantizando que los datos procesados en el frontend no contengan contenido malicioso.
🚫 Protección contra Inyecciones SQL
- Descripción: Se ha implementado una sanitización de entradas que ayuda a prevenir inyecciones SQL.
- Funcionalidad: Asegura que los datos enviados a las API estén debidamente filtrados, lo que es especialmente importante al trabajar con APIs que pueden realizar operaciones de base de datos.
- Impacto: Mejora la seguridad general de la aplicación al proteger contra posibles vulnerabilidades, asegurando que las entradas de los usuarios no comprometan la integridad de la base de datos.
📚 Documentación
- Documentación Actualizada: Se han agregado ejemplos claros en la documentación para facilitar la implementación de las nuevas funcionalidades de seguridad y gestión de formularios.
🐛 Correcciones
- Se realizaron diversas correcciones menores para mejorar la estabilidad y el rendimiento del hook.
🚀 Recomendaciones
Se recomienda a todos los usuarios actualizar a la versión 1.2.4 para aprovechar las mejoras en la seguridad, la gestión de formularios y la protección contra inyecciones SQL.
Version 1.2.3 🚀
Release Note: Protección CSRF en useTargetHandler
1.2.3
Descripción
La versión 1.2.3 del hook useTargetHandler
introduce una mejora significativa en la seguridad de las aplicaciones React al implementar la protección contra CSRF (Cross-Site Request Forgery) en las solicitudes a la API. Esta nueva funcionalidad ayuda a prevenir ataques CSRF maliciosos, asegurando que las interacciones del usuario sean legítimas y autorizadas.
Características Principales
-
Protección CSRF: Se ha añadido la opción
enableCSRF
que permite activar o desactivar la protección CSRF en las solicitudes a la API. Cuando se establece entrue
, el hook incluirá automáticamente el token CSRF en las solicitudes que modifican datos (POST, PUT, DELETE), ayudando a prevenir ataques CSRF. -
Integración con
useHttpRequest
: La protección CSRF se implementa a través del hookuseHttpRequest
, que se encarga de manejar las llamadas HTTP a la API. CuandoenableCSRF
está activado,useHttpRequest
incluirá el token CSRF en las solicitudes relevantes. -
Configuración Flexible: El parámetro
enableCSRF
permite a los desarrolladores controlar si desean activar o desactivar la protección CSRF según las necesidades de su aplicación. Esto brinda flexibilidad y control sobre la seguridad de las interacciones del usuario con la API.
Ejemplo de Uso
import React from "react";
import useTargetHandler from "./useTargetHandler"; // Asegúrate de que la ruta sea correcta
const MyForm = () => {
const initialValues = {
nombre: "",
apellido: "",
email: "",
password: "",
confirmPassword: "",
age: "",
terms: false,
ciudad: "",
gender: "",
};
const validationRules = {
nombre: {
required: true,
requiredMessage: "El nombre es obligatorio !!!",
pattern: /^[a-zA-Z]+$/,
patternMessage: "No puede tener o llevar números",
},
// ... Otras reglas de validación
};
const [
target,
handleTarget,
handleSubmit,
errors,
] = useTargetHandler(initialValues, validationRules, "local", "formData", true); // Activar CSRF
const onSubmit = () => {
console.log("Datos enviados:", target);
// Aquí puedes realizar la llamada a la API o cualquier otra acción
};
return (
<form onSubmit={handleSubmit(onSubmit)}>
<input
type="text"
name="nombre"
value={target.nombre}
placeholder="Nombre"
onChange={handleTarget}
/>
{errors.nombre && <span>{errors.nombre.message}</span>}
{/* Resto de los campos del formulario */}
<button type="submit">Enviar</button>
</form>
);
};
export default MyForm;
Conclusión
La versión 1.2.3 de useTargetHandler
introduce una mejora crucial en la seguridad de las aplicaciones React al implementar la protección CSRF. Al activar esta funcionalidad, los desarrolladores pueden estar seguros de que las interacciones del usuario con la API son legítimas y están protegidas contra ataques CSRF. Esta actualización refuerza la solidez y confiabilidad del hook useTargetHandler
para la gestión de formularios en aplicaciones React.
Version 1.2.2 🚀
🚀 Release 1.2.2
Resumen
La versión 1.2.2 de useTargetHandler
se enfoca en mejorar la validación de la edad y el manejo de errores en el envío de formularios. También se han optimizado las validaciones para mejorar la legibilidad y mantenibilidad del código.
Novedades
✨ Mejoras
-
Validación de Edad: Se ha mejorado la validación de la edad en el hook
useTargetHandler
. Ahora se verifica que el valor de la edad sea un número y esté dentro del rango especificado. -
Manejo de Errores en el Envío: Se ha agregado un mejor manejo de errores en la parte donde se envían los datos en
handleSubmit
. Ahora se capturan y manejan adecuadamente los errores que puedan ocurrir durante el proceso de envío. -
Optimización de Validaciones: Se han dividido las validaciones en funciones más pequeñas para cada tipo de validación, mejorando la legibilidad y mantenibilidad del código.
📚 Documentación
- Documentación Actualizada: Se han agregado ejemplos claros en la documentación para facilitar la implementación de las mejoras en la validación de edad y el manejo de errores en el envío.
Correcciones
- Se realizaron diversas correcciones menores para mejorar la estabilidad y el rendimiento del hook.
Instrucciones de Actualización
Para actualizar a la versión 1.2.2, sigue estos pasos:
-
Actualiza la dependencia de
useTargetHandler
en tu proyecto a la versión1.2.2
. -
Revisa la documentación actualizada para ver ejemplos de cómo implementar las mejoras en la validación de edad y el manejo de errores en el envío.
-
Asegúrate de que tu código utilice las nuevas funcionalidades y correcciones para aprovechar al máximo las mejoras de esta versión.
Problemas Conocidos
No se han reportado problemas conocidos en esta versión.
Próximos Pasos
El equipo de desarrollo de useTargetHandler
está trabajando en nuevas características y mejoras para futuras versiones. Mantente atento a los próximos lanzamientos.
¡Disfruta de la nueva versión 1.2.2!
Version 1.2.1 🚀
Novedades de la Versión 1.2.1
-
Declaración de Variables de Entorno en la Nube: Se ha añadido la capacidad de declarar variables de entorno directamente en la nube, permitiendo una configuración más flexible y segura de la aplicación.
-
Función de Validación Mejorada: La función ha sido optimizada para manejar múltiples tipos de validaciones, incluyendo:
- Validaciones de longitud mínima y máxima.
- Validaciones de patrones de expresión regular.
- Coincidencias entre campos.
- Mensajes de error personalizados para cada regla.
-
Obtención de Variables de Entorno: Se implementó la función para facilitar la obtención de variables de entorno, permitiendo la configuración de la URL base de la API.
-
Integración con
useHttpRequest
:useTargetHandler
ahora se integra de manera más efectiva con el hookuseHttpRequest
, permitiendo realizar llamadas a la API directamente desde el formulario y gestionar las respuestas adecuadamente.
Ejemplo de Uso
Aquí tienes un ejemplo de cómo usar useTargetHandler
con useHttpRequest
:
import React from "react";
import useTargetHandler from "./path/to/useTargetHandler"; // Asegúrate de que la ruta sea correcta
const UserForm = () => {
const {
target,
handleTarget,
handleSubmit,
errors,
{ apiCall, apiResponse, userFound, error },
} = useTargetHandler(
{ nombre: "", apellido: "" }, // Valores iniciales del formulario
{
nombre: { required: true, requiredMessage: "El nombre es obligatorio" },
apellido: {
required: true,
pattern: /^[a-zA-Z]+$/,
patternMessage: "El apellido solo debe contener letras",
},
},
"local", // Tipo de almacenamiento
"formData" // Clave para el almacenamiento
);
const onSubmit = async (data) => {
try {
// Realiza la llamada a la API
await apiCall("/users", undefined, data, "post", "application/json");
if (userFound) {
console.log("Usuario creado:", apiResponse);
} else {
console.error("Error al crear usuario:", error);
}
} catch (err) {
console.error("Error en la llamada a la API:", err);
}
};
return (
<form onSubmit={handleSubmit(onSubmit)}>
<div>
<label htmlFor="nombre">Nombre:</label>
<input
type="text"
name="nombre"
value={target.nombre}
onChange={handleTarget}
placeholder="Nombre"
/>
{errors.nombre && <span>{errors.nombre.message}</span>}
</div>
<div>
<label htmlFor="apellido">Apellido:</label>
<input
type="text"
name="apellido"
value={target.apellido}
onChange={handleTarget}
placeholder="Apellido"
/>
{errors.apellido && <span>{errors.apellido.message}</span>}
</div>
<button type="submit">Enviar</button>
</form>
);
};
export default UserForm;
version 1.2.0 🚀
🚀 Release 1.2.0 - Nuevas Validaciones y Mejoras en el Formulario
Estamos emocionados de anunciar el lanzamiento de la versión 1.2.0 de nuestro hook useTargetHandler
. Esta actualización trae consigo una serie de mejoras y nuevas funcionalidades que optimizan la experiencia de los desarrolladores al trabajar con formularios en React.
✨ Características Destacadas
- Nuevas Propiedades de Validación:
minLength
: Verifica que la longitud del valor ingresado sea al menos la mínima especificada.maxLength
: Verifica que la longitud del valor ingresado no exceda la máxima especificada.matches
: Permite validar que el valor de un campo coincida con el valor de otro campo (por ejemplo, para confirmar contraseñas).matchMessage
: Proporciona un mensaje de error personalizado si los valores no coinciden.min
ymax
: Verifican que el valor ingresado esté dentro de un rango específico, asegurando la validez de datos como la edad.checked
ycheckedMessage
: Aseguran que los checkboxes estén marcados y proporcionan mensajes claros si no lo están.
- Validación para Botones de Radio:
- Se ha implementado la propiedad
selected
, que verifica que al menos un botón de radio en un grupo esté seleccionado, junto con un mensaje de error personalizado.
- Se ha implementado la propiedad
🚀 Mejoras y Correcciones
- Se han realizado diversas correcciones menores para mejorar la estabilidad y el rendimiento del hook.
- La documentación ha sido actualizada con ejemplos claros sobre cómo utilizar las nuevas características de validación.
🎉 Cómo Actualizar
Para actualizar a la versión 1.2.0, simplemente ejecuta el siguiente comando en tu terminal:
npm install usetargethandler
📚 Documentación
Puedes encontrar la documentación actualizada en nuestro repositorio de GitHub: https://github.com/GianfrancoD/useTargetHandler
🤝 Contribuciones
Si encuentras algún problema o tienes sugerencias para mejorar el hook useTargetHandler
, no dudes en abrir un issue o enviar un pull request en nuestro repositorio de GitHub. ¡Apreciamos mucho tu apoyo y contribuciones!
¡Disfruta de las nuevas funcionalidades y mejoras introducidas en la versión 1.2.0! Si tienes alguna pregunta o necesitas más ayuda, no dudes en contactarnos.
Release version 1.1.0 🚀
🚀 Lanzamiento de la Versión 1.1.0 de useTargetHandler
¡Estamos emocionados de anunciar el lanzamiento de la versión 1.1.0 de useTargetHandler! Esta actualización trae mejoras significativas en la validación de formularios, permitiendo a los desarrolladores personalizar los mensajes de error y mejorar la experiencia del usuario al manejar formularios en aplicaciones React.
✨ Nuevas Características
Validaciones Personalizadas:
Se han implementado propiedades para permitir a los desarrolladores definir reglas de validación personalizadas para cada campo del formulario:
required: Indica si el campo es obligatorio.
requiredMessage: Mensaje de error personalizado para campos obligatorios.
pattern: Expresión regular para validar el formato del campo.
patternMessage: Mensaje de error personalizado para validación de patrón.
Esto mejora significativamente la experiencia del usuario al proporcionar instrucciones claras sobre los requisitos de entrada en cada campo.
1.0.27
Release 1.0.27 - 2024-07-30
Novedades
- ✨ Mejorado
- Persistencia del Estado: Se implementó la capacidad de guardar el estado del formulario en localStorage o sessionStorage, permitiendo a los usuarios retomar formularios incompletos.
- Lógica de Almacenamiento Condicional: Se mejoró la lógica para asegurarse de que los datos solo se guarden en localStorage o sessionStorage si se especifica un tipo de almacenamiento válido.
- ➕ Agregado
- Manejo de Errores de Validación: Se implementó un sistema para validar cada campo del formulario y mostrar mensajes de error claros y concisos si los campos están vacíos o no válidos.
- Soporte para Formularios Dinámicos: Se agregó la funcionalidad para agregar o eliminar campos de formulario en tiempo real, proporcionando flexibilidad en la creación de formularios.
- ➕ Mejoras en la Documentación
Se actualizaron los ejemplos en la documentación para reflejar las nuevas características, incluyendo la persistencia del estado y el manejo de errores de validación.
Para ver el registro completo de cambios, consulta el CHANGELOG
Ver las nuevas funcionalidades de la versión 1.0.27 FUNCTIONALITY
1.0.26
Release v1.0.26 - 2024-07-26
Novedades
✨ Mejorado
- Manejo de Errores: Se mejoró el manejo de errores en el hook
useTargetHandler
, permitiendo que los mensajes de error se establezcan de manera más clara y concisa, y asegurando que los inputs controlados no cambien a un estado no controlado.
➕ Agregado
- Pruebas Exhaustivas: Se realizaron pruebas exhaustivas de la nueva funcionalidad y se ajustaron detalles menores en el código para mejorar la estabilidad.
➕ Mejoras en la Documentación
- Se actualizaron los ejemplos en la documentación para reflejar las nuevas características y mejoras en el manejo de errores.
Para ver el registro completo de cambios, consulta el CHANGELOG.
Ver las nuevas funcionalidades de la version 1.0.26 FUNCTIONALITY.
1.0.8
Bug fixes:
the structure is modified,
the address is changed,
The code was modified for greater speed