Zephyrnet-logotyp

Ja, validera matrisfält villkorligt | Codementor

Datum:

Så jag ville validera några få fält i array baserat på andra boolean fält. Här nedan är ett schema över min form.

{ "bankAccounts": [{ "accountType": "savings", "accountNumber": "11111111111" }], "bankingEnabled": true
}

Nu vill jag att matrisfälten endast ska valideras om bankingEnabled är sant. Här nedan är en Yup schema som löser detta problem:

{ bankAccounts: yup.array() .when('bankingEnabled', { is: true, then: yup.array().of( yup.object().shape({ accountType: yup.string().required('Please select your Account Type'), accountNumber: yup .string() .required('You must enter a Account Number') .matches(/^[0-9]+$/, 'Must be only digits') .min(5, 'Must be atleast 5 digits') .max(17, 'Must not be more than 17 digits'), }) ) })
}

Se här är jag kontrollerar villkorligt på bankindEnabled fält med when metod som om värdet på detta fält är true sedan kommer andra valideringar att utföras.

Hoppas detta hjälper.

plats_img

Senaste intelligens

plats_img

Chatta med oss

Hallå där! Hur kan jag hjälpa dig?