npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

3dlink-validations

v0.4.0

Published

Validation library for 3dlink projects

Readme

3Dlink - validations

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.

Uso

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.

Importante

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.

Añadir validaciones a la librería

  1. 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í.
    }
  2. 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);
  3. 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(...);
    });
  4. 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.

Validaciones

Aquí tienes una lista actualizada de las validaciones disponibles en el módulo formValidations:

  1. required: Comprueba si el campo es requerido. Si el campo está vacío, devolverá false.

  2. 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.

  3. 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.

  4. exactLength: Comprueba si el valor del campo tiene exactamente la longitud especificada. Necesitas proporcionar la propiedad length con el valor exacto de longitud.

  5. isNumber: Comprueba si el valor del campo contiene solo números.

  6. isEmail: Comprueba si el valor del campo es un correo electrónico válido.

  7. 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.

  8. 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.

  9. isUrl: Comprueba si el valor del campo es una URL válida.

  10. 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.

  11. hasUpperCase: Comprueba si el valor del campo contiene al menos una letra mayúscula.

  12. hasLowerCase: Comprueba si el valor del campo contiene al menos una letra minúscula.

  13. hasSpecialChar: Comprueba si el valor del campo contiene al menos un carácter especial.

  14. hasNonNumeric: Comprueba si el valor del campo contiene al menos un carácter no numérico.

  15. onlyLetters: Comprueba si el valor del campo contiene solo letras. Puedes especificar si se permiten espacios proporcionando la propiedad spaces.

  16. isTrue: Verifica si una variable tiene el valor buleano de true.

  17. noConsecutiveNumbers: Comprueba si el valor del campo contiene números iguales consecutivos. Si contiene números iguales seguidos, devolverá false.

  18. 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.