Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

83
Vistas
Devolviendo la ecuación de la función Javascript

Estoy creando un formulario de varios pasos que es dinámico en función de una respuesta de un servidor. El formulario está construido en React usando Formiz para lograr esto. Estoy tratando de crear los objetos de validación en función de la información del backend. Según los documentos de Formiz, la validación personalizada se vería así:

 validations={[ { rule: (val) => val !== 0, message: 'Need some real number here', }, { rule: (val) => val !== 7, message: '7 is a lucky number but please try another one', }, { rule: (val) => val !== 66, message: '66 is not a valid number', }, ]}

La información que pasa desde el backend donde eq puede ser lessThan o greaterThan , y when representa la clave del campo a referencia. Lo siguiente significa que si el valor de companyStructure es soleProp , entonces el valor de ownershipPercentage debe ser igual a 100.

 { ... key: 'ownershipPercentage', ... validation: { required: true, rules: [ { when: 'companyStructure', value: 'soleProp', eq: 100, message: `Value must be equal to 100.` } ] }, },

Mi función actual para crear un objeto de validación en el que estoy atascado:

 const checkFieldValidation = () => { const fieldValidation = {} const checkIf: any = { eq: (a: any, b: any) => a === b, lessThan: (a: number, b: number) => a < b, greaterThan: (a: number, b: number) => a > b } if (field.validation.rules) { const rules = field.validation.rules const fieldValue = ~~form.values[rules.when] const conditions = Object.keys(checkIf).filter((k) => k in rules) return conditions.every((condition) => { return checkIf[condition](fieldValue, rules[condition]) }) } }

¿Cuál sería la forma correcta de tomar esos datos y devolver una ecuación apropiada basada en: (val) => val !== 7 ?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda