Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
3dlink-validations
Advanced tools
3D link validations es una librería que compila en una función reductora, las validaciones esenciales para aplicar a los campos de los formularios.
Para utilizar 3Dlink validations en tu proyecto, primero tendrás que importar la función reductora validateField
. Esta función acepta un objeto que contiene las propiedades específicas necesarias para realizar la validación deseada. Todas las validaciones requieren la propiedad validation
para especificar el tipo de validación que se quiere realizar.
Aquí hay un ejemplo básico de cómo puedes utilizar la función validateField
en tu código:
import { validateField } from '3Dlink-validations';
const result = validateField({
validation: 'required',
value: 'contenido del campo'
});
console.log(result); // Devolverá true si el campo contiene algún valor
Cada validación tiene sus propios parámetros específicos que debes proporcionar para que funcione correctamente. Por ejemplo, para la validación minLength
, necesitarás proporcionar la propiedad min
con el valor mínimo de longitud:
const result = validateField({
validation: 'minLength',
value: 'contenido del campo',
min: 5
});
console.log(result); // Devolverá true si la longitud del valor es al menos 5
Puedes encontrar una lista completa de las validaciones disponibles y los parámetros requeridos en la sección Validaciones de este documento.
3Dlink validations está diseñado para ser fácil de usar y flexible, permitiéndote realizar una amplia variedad de comprobaciones en los campos de tus formularios de manera sencilla y eficiente. Simplemente elige la validación que necesitas, proporciona los parámetros requeridos, y deja que 3Dlink se encargue del resto.
Ten en cuenta que algunas validaciones requieren parámetros específicos. Si no se proporcionan los parámetros requeridos, la función arrojará un error. Asegúrate de revisar la documentación de cada validación para comprender completamente qué parámetros necesitas proporcionar.
Función de Validación: Crea una nueva función de validación que realice la verificación específica que deseas implementar. Puedes usar expresiones regulares o cualquier otro método para realizar la validación.
const validateNewFeature = (value, ...props) => {
// Implementa la validación aquí.
}
Switch Case en validateField
: Añade un nuevo caso en el switch dentro de la función validateField
que llame a la nueva función de validación.
case 'newFeature':
return validateNewFeature(value, ...props);
Test: Agrega pruebas unitarias para la nueva función de validación utilizando jest
. Crea una nueva serie de pruebas en el archivo de pruebas que cubra casos de éxito y error para la nueva validación.
it('validates new feature', () => {
expect(validateField({ validation: 'newFeature', value: ... })).toBe(...);
});
Documentación: Añade una descripción de la nueva validación en el archivo README en la sección "Validaciones". Asegúrate de que la documentación sea clara y explique qué hace la nueva validación.
N. **newFeature**: Descripción de lo que hace la nueva validación.
Al seguir esta estructura, puedes asegurarte de que la biblioteca sea coherente y fácil de mantener, y de que los nuevos features se integren sin problemas.
Aquí tienes una lista actualizada de las validaciones disponibles en el módulo formValidations
:
required: Comprueba si el campo es requerido. Si el campo está vacío, devolverá false
.
minLength: Comprueba si el valor del campo tiene al menos la longitud mínima especificada. Necesitas proporcionar la propiedad min
con el valor mínimo de longitud.
maxLength: Comprueba si el valor del campo no excede la longitud máxima especificada. Necesitas proporcionar la propiedad max
con el valor máximo de longitud.
exactLength: Comprueba si el valor del campo tiene exactamente la longitud especificada. Necesitas proporcionar la propiedad length
con el valor exacto de longitud.
isNumber: Comprueba si el valor del campo contiene solo números.
isEmail: Comprueba si el valor del campo es un correo electrónico válido.
isDate: Comprueba si el valor del campo es una fecha válida. Por defecto, valida en formato YYYY-MM-DD. Si necesitas otro formato, tendrás que usar una función personalizada.
range: Comprueba si el valor del campo es un número dentro de un rango especificado. Necesitas proporcionar las propiedades min
y max
con los valores límite del rango.
isUrl: Comprueba si el valor del campo es una URL válida.
match: Comprueba si el valor del campo coincide con el de otro campo. Necesitas proporcionar la propiedad matchValue
con el valor del campo con el que se debe comparar.
hasUpperCase: Comprueba si el valor del campo contiene al menos una letra mayúscula.
hasLowerCase: Comprueba si el valor del campo contiene al menos una letra minúscula.
hasSpecialChar: Comprueba si el valor del campo contiene al menos un carácter especial.
hasNonNumeric: Comprueba si el valor del campo contiene al menos un carácter no numérico.
onlyLetters: Comprueba si el valor del campo contiene solo letras. Puedes especificar si se permiten espacios proporcionando la propiedad spaces
.
isTrue: Verifica si una variable tiene el valor buleano de true.
noConsecutiveNumbers: Comprueba si el valor del campo contiene números iguales consecutivos. Si contiene números iguales seguidos, devolverá false
.
hasMinNumericChar: Comprueba si el valor del campo contiene al menos el mínimo especificado de caracteres numéricos. Necesitas proporcionar la propiedad min
con el número mínimo de caracteres numéricos requeridos.
FAQs
Validation library for 3dlink projects
The npm package 3dlink-validations receives a total of 5 weekly downloads. As such, 3dlink-validations popularity was classified as not popular.
We found that 3dlink-validations demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.