Skip to content

Commit 7a83918

Browse files
fix(stripe components): Dynamic required region field (#101240)
Region should only be required if there's a choice.
1 parent 6f3809a commit 7a83918

File tree

1 file changed

+13
-7
lines changed
  • static/gsApp/components/billingDetails

1 file changed

+13
-7
lines changed

static/gsApp/components/billingDetails/form.tsx

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -194,13 +194,7 @@ function BillingDetailsForm({
194194
};
195195

196196
useEffect(() => {
197-
const requiredFields = [
198-
'addressLine1',
199-
'city',
200-
'region',
201-
'countryCode',
202-
'postalCode',
203-
];
197+
const requiredFields = ['addressLine1', 'city', 'countryCode'];
204198
requiredFields.forEach(field => {
205199
form.setFieldDescriptor(field, {
206200
required: true,
@@ -214,6 +208,18 @@ function BillingDetailsForm({
214208
};
215209
}, [form]);
216210

211+
useEffect(() => {
212+
if (countryHasRegionChoices(state.countryCode)) {
213+
form.setFieldDescriptor('region', {required: true});
214+
} else {
215+
form.setFieldDescriptor('region', {required: false});
216+
}
217+
218+
return () => {
219+
form.removeField('region');
220+
};
221+
}, [state.countryCode, form]);
222+
217223
if (!organization.access.includes('org:billing')) {
218224
return null;
219225
}

0 commit comments

Comments
 (0)