Sobes.tech
Middle+

Ինչն օգտագործվեց բազմաչափ ձևերով աշխատելու համար — հաստատման համար, ինչ խնդիրներ հանդիպեցին, ինչպես փորձարկեցին?

sobes.tech AI

Պատասխան AI-ից

Բազմաշերտ ձևանմուշների հետ աշխատելու համար հաճախ օգտագործվում են վավերացման գրադարաններ, ինչպիսիք են Yup, Joi կամ սեփական լուծումները, որոնք հիմնված են React Hook Form կամ Formik-ի վրա: Հիմնական դժվարությունը ճիշտ վավերացնել ներբեռնված կառուցվածքները և դինամիկ փոփոխվող դաշտերը:

Իմ առնչած խնդիրները՝

  • Ներքին զանգվածների և օբյեկտների վավերացում, հատկապես դինամիկ ավելացման/հեռացման ժամանակ:
  • Ասինխրոն վավերացում (օր., տվյալների միայնության ստուգում սերվերում):
  • Հատուկ դաշտերի սխալների կառավարում և ցուցադրում:

Վավերացման սխեմայի ճշգրտությունը ստուգելու համար օգտագործում եմ Jest-ի միավորային թեստեր, ինչպես նաև end-to-end (Cypress) թեստեր՝ ձևի պահվածքը բրաուզերում:

Yup-ի օրինակ՝ ներբեռնված կառուցվածքի համար:

const schema = yup.object().shape({
  users: yup.array().of(
    yup.object().shape({
      name: yup.string().required(),
      contacts: yup.array().of(
        yup.object().shape({
          type: yup.string().required(),
          value: yup.string().required(),
        })
      )
    })
  )
});

// Տվյալների վավերացում
schema.validate(data).catch(err => console.log(err.errors));