Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

705
Views
Sí, ¿cómo validar el valor duplicado en una matriz de objetos?

¿Cómo usar la validación de Yup para encontrar el duplicado de contractNum en la hipoteca existente o en la nueva hipoteca solo o en la hipoteca existente + la nueva hipoteca? Gracias:)

El siguiente es mi objeto de valor formik y esquema de validación:

 { "existingMortgage": [ { "contractNum": "123", "mortgageAmount": "1000" }, { "contractNum": "123", "mortgageAmount": "1001" }, { "contractNum": "456", "mortgageAmount": "1002" } ], "newMortgage": [ { "contractNum": "456", "mortgageAmount": "1003" }, { "contractNum": "789", "mortgageAmount": "1004" } ] }

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

yup.addMethod(yup.array, 'unique', function (field, message) { return this.test('unique', message, function (array) { const uniqueData = Array.from( new Set(array.map((row) => row[field]?.toLowerCase())), ); const isUnique = array.length === uniqueData.length; if (isUnique) { return true; } const index = array.findIndex( (row, i) => row[field]?.toLowerCase() !== uniqueData[i], ); if (array[index][field] === '') { return true; } return this.createError({ path: `${this.path}.${index}.${field}`, message, }); }); });

El fragmento de código anterior es para agregar un método único en el esquema yup.array. Puedes usarlo como:

 const validationSchema = yup.object({ existingMortgage: yup.array().unique('contractNum', 'Please provide a unique number.'), newMortgage: yup.array().unique('contractNum', 'Please provide a unique number.') });
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!