Closed shankhadevpadam closed 3 years ago
This is intended in 4.2
since there was a schema strictness issue that was fixed.
Your schema defines all fields as required
, so that's why it is not submitting the form, you have two options to resolve this:
yup
schema to either mark those fields as optional or use yup's when
to define field validation conditions (i.e: required when x is y
)computed
to define a dynamic schema that updates the validations for the fields based on your conditions.You can debug this by printing the errors
of the form whenever the submit seems "stuck".
@logaretm same problem even used conditionally. I made the airportPickUpStatus as a boolean in my code.
const schema = Yup.object().shape({
airportPickUpStatus: Yup.boolean(),
arrivalDate: Yup.string().when('airportPickUpStatus', {
is: true,
then: Yup.string().required("Arrival date is required."),
}),
});
Could you please create a demo for this on codesandbox? try to keep it as minimal as possible as I can't go through your large snippet.
@logaretm I have created a codesandbox for my issue https://codesandbox.io/s/vee-yup-1smlj
Now my problem is when I choose pickup and fill the form it submitted but when I choose arranged it doesn't submit. I need to submit my form if I choose arranged.
So it means if I choose pickup field should be validated but not when I choose arranged.
Well you didn't specify any conditions in your schema in your example, computed schema resolves it:
https://codesandbox.io/s/vee-yup-forked-qqujv?file=/src/App.vue
@logaretm thanks for the solution.
Versions
Unable to submit the form.
I have a Vue component where some fields will show/hide according to choose radio option. The form is working perfectly when filling in all the data but it will be stuck if I hide the fields. When I set the airportPickUpStatus to arranged it will be stuck.