diff --git a/src/admin/components/forms/Form/fieldReducer.ts b/src/admin/components/forms/Form/fieldReducer.ts index cd3cbcb124..a5bd4e905f 100644 --- a/src/admin/components/forms/Form/fieldReducer.ts +++ b/src/admin/components/forms/Form/fieldReducer.ts @@ -119,6 +119,7 @@ function fieldReducer(state: Fields, action): Fields { initialValue: action.initialValue, stringify: action.stringify, validate: action.validate, + condition: action.condition, }; return { diff --git a/src/admin/components/forms/withCondition/index.tsx b/src/admin/components/forms/withCondition/index.tsx index fb33b750de..9236b667bd 100644 --- a/src/admin/components/forms/withCondition/index.tsx +++ b/src/admin/components/forms/withCondition/index.tsx @@ -33,18 +33,19 @@ const withCondition =

>(Field: React.Component const { getData, getSiblingData, getField, dispatchFields } = useWatchForm(); const data = getData(); - const field = getField(path); const siblingData = getSiblingData(path); const passesCondition = condition ? condition(data, siblingData) : true; useEffect(() => { if (!passesCondition) { + const field = getField(path); dispatchFields({ ...field, + path, valid: true, }); } - }, [passesCondition, field, dispatchFields]); + }, [passesCondition, getField, dispatchFields, path]); if (passesCondition) { return ;