Skip to content

Commit 38ee2d9

Browse files
authored
Merge pull request #247 from auth0/feat/forms-validations-inconsistency-updates
feat: Updated forms validations to use `mode: onTouched` across all components
2 parents ac31ab4 + 99ae2ad commit 38ee2d9

16 files changed

Lines changed: 46 additions & 22 deletions

File tree

packages/react/src/components/auth0/my-account/shared/mfa/contact-input-form.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import { TextField } from '@/components/ui/text-field';
3232
import { useContactEnrollment } from '@/hooks/my-account/use-contact-enrollment';
3333
import { useTheme } from '@/hooks/shared/use-theme';
3434
import { useTranslator } from '@/hooks/shared/use-translator';
35+
import { FORM_REVALIDATE_MODE, FORM_VALIDATION_MODE } from '@/lib/constants/form-constants';
3536
import { ENTER_CONTACT, ENTER_OTP } from '@/lib/constants/my-account/mfa/mfa-constants';
3637
import { cn } from '@/lib/utils';
3738
import type { ContactInputFormProps } from '@/types/my-account/mfa/mfa-types';
@@ -99,8 +100,8 @@ export function ContactInputForm({
99100

100101
const form = useForm<ContactForm>({
101102
resolver: zodResolver(ContactSchema),
102-
mode: 'onTouched',
103-
reValidateMode: 'onChange',
103+
mode: FORM_VALIDATION_MODE,
104+
reValidateMode: FORM_REVALIDATE_MODE,
104105
defaultValues: { contact: contactData.contact || '' },
105106
});
106107

packages/react/src/components/auth0/my-account/shared/mfa/otp-verification-form.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import { OTPField } from '@/components/ui/otp-field';
2727
import { useOtpConfirmation } from '@/hooks/my-account/use-otp-confirmation';
2828
import { useTheme } from '@/hooks/shared/use-theme';
2929
import { useTranslator } from '@/hooks/shared/use-translator';
30+
import { FORM_VALIDATION_MODE } from '@/lib/constants/form-constants';
3031
import { cn } from '@/lib/utils';
3132
import type { OTPVerificationFormProps } from '@/types/my-account/mfa/mfa-types';
3233

@@ -122,7 +123,7 @@ export function OTPVerificationForm({
122123
onClose,
123124
});
124125

125-
const form = useForm<OtpForm>({ mode: 'onChange' });
126+
const form = useForm<OtpForm>({ mode: FORM_VALIDATION_MODE });
126127
const userOtp = form.watch('userOtp');
127128

128129
const otpInputRef = React.useRef<HTMLInputElement>(null);

packages/react/src/components/auth0/my-organization/shared/domain-management/domain-create/domain-create-modal.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import {
2323
import { Modal } from '@/components/ui/modal';
2424
import { TextField } from '@/components/ui/text-field';
2525
import { useTranslator } from '@/hooks/shared/use-translator';
26+
import { FORM_VALIDATION_MODE } from '@/lib/constants/form-constants';
2627
import { cn } from '@/lib/utils';
2728
import type { DomainCreateModalProps } from '@/types/my-organization/domain-management/domain-create-types';
2829

@@ -61,7 +62,7 @@ export function DomainCreateModal({
6162
defaultValues: {
6263
domain_url: '',
6364
},
64-
mode: 'onBlur',
65+
mode: FORM_VALIDATION_MODE,
6566
});
6667

6768
const handleCreate = React.useCallback(

packages/react/src/components/auth0/my-organization/shared/idp-management/sso-provider-create/provider-configure/adfs-sso-configure-form.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import { Label } from '@/components/ui/label';
2929
import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';
3030
import { TextField } from '@/components/ui/text-field';
3131
import { useTranslator } from '@/hooks/shared/use-translator';
32+
import { FORM_REVALIDATE_MODE, FORM_VALIDATION_MODE } from '@/lib/constants/form-constants';
3233
import { cn } from '@/lib/utils';
3334
import type { ProviderConfigureFieldsProps } from '@/types/my-organization/idp-management/sso-provider/sso-provider-create-types';
3435

@@ -57,8 +58,8 @@ export const AdfsProviderForm = React.forwardRef<AdfsConfigureFormHandle, AdfsCo
5758

5859
const form = useForm<AdfsConfigureFormValues>({
5960
resolver: zodResolver(createProviderConfigureSchema('adfs')),
60-
mode: 'onSubmit',
61-
reValidateMode: 'onChange',
61+
mode: FORM_VALIDATION_MODE,
62+
reValidateMode: FORM_REVALIDATE_MODE,
6263
defaultValues: {
6364
meta_data_source: adfsData?.meta_data_source || 'meta_data_url',
6465
meta_data_location_url: adfsData?.meta_data_location_url || '',

packages/react/src/components/auth0/my-organization/shared/idp-management/sso-provider-create/provider-configure/google-apps-sso-configure-form.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import { TextField } from '@/components/ui/text-field';
2727
import { useProviderFormMode } from '@/hooks/my-organization/use-provider-form-mode';
2828
import { useCoreClient } from '@/hooks/shared/use-core-client';
2929
import { useTranslator } from '@/hooks/shared/use-translator';
30+
import { FORM_REVALIDATE_MODE, FORM_VALIDATION_MODE } from '@/lib/constants/form-constants';
3031
import { cn } from '@/lib/utils';
3132
import type { ProviderConfigureFieldsProps } from '@/types/my-organization/idp-management/sso-provider/sso-provider-create-types';
3233

@@ -71,8 +72,8 @@ export const GoogleAppsProviderForm = React.forwardRef<
7172

7273
const form = useForm<GoogleAppsConfigureFormValues>({
7374
resolver: zodResolver(createProviderConfigureSchema('google-apps')),
74-
mode: 'onSubmit',
75-
reValidateMode: 'onChange',
75+
mode: FORM_VALIDATION_MODE,
76+
reValidateMode: FORM_REVALIDATE_MODE,
7677
defaultValues: {
7778
domain: googleAppsData?.domain || '',
7879
client_id: googleAppsData?.client_id || '',

packages/react/src/components/auth0/my-organization/shared/idp-management/sso-provider-create/provider-configure/oidc-sso-configure-form.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';
2828
import { TextField } from '@/components/ui/text-field';
2929
import { useProviderFormMode } from '@/hooks/my-organization/use-provider-form-mode';
3030
import { useTranslator } from '@/hooks/shared/use-translator';
31+
import { FORM_REVALIDATE_MODE, FORM_VALIDATION_MODE } from '@/lib/constants/form-constants';
3132
import { cn } from '@/lib/utils';
3233
import type { ProviderConfigureFieldsProps } from '@/types/my-organization/idp-management/sso-provider/sso-provider-create-types';
3334

@@ -64,8 +65,8 @@ export const OidcProviderForm = React.forwardRef<OidcConfigureFormHandle, OidcCo
6465

6566
const form = useForm<OidcConfigureFormValues>({
6667
resolver: zodResolver(createProviderConfigureSchema('oidc')),
67-
mode: 'onSubmit',
68-
reValidateMode: 'onChange',
68+
mode: FORM_VALIDATION_MODE,
69+
reValidateMode: FORM_REVALIDATE_MODE,
6970
defaultValues: {
7071
discovery_url: oidcData?.discovery_url || '',
7172
type: oidcData?.type || 'back_channel',

packages/react/src/components/auth0/my-organization/shared/idp-management/sso-provider-create/provider-configure/okta-sso-configure-form.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import { TextField } from '@/components/ui/text-field';
2828
import { useProviderFormMode } from '@/hooks/my-organization/use-provider-form-mode';
2929
import { useCoreClient } from '@/hooks/shared/use-core-client';
3030
import { useTranslator } from '@/hooks/shared/use-translator';
31+
import { FORM_REVALIDATE_MODE, FORM_VALIDATION_MODE } from '@/lib/constants/form-constants';
3132
import { cn } from '@/lib/utils';
3233
import type { ProviderConfigureFieldsProps } from '@/types/my-organization/idp-management/sso-provider/sso-provider-create-types';
3334

@@ -76,8 +77,8 @@ export const OktaProviderForm = React.forwardRef<OktaConfigureFormHandle, OktaCo
7677

7778
const form = useForm<OktaConfigureFormValues>({
7879
resolver: zodResolver(createProviderConfigureSchema('okta')),
79-
mode: 'onSubmit',
80-
reValidateMode: 'onChange',
80+
mode: FORM_VALIDATION_MODE,
81+
reValidateMode: FORM_REVALIDATE_MODE,
8182
defaultValues: {
8283
domain: oktaData?.domain || '',
8384
client_id: oktaData?.client_id || '',

packages/react/src/components/auth0/my-organization/shared/idp-management/sso-provider-create/provider-configure/ping-federate-sso-configure-form.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import {
4141
} from '@/components/ui/select';
4242
import { TextField } from '@/components/ui/text-field';
4343
import { useTranslator } from '@/hooks/shared/use-translator';
44+
import { FORM_REVALIDATE_MODE, FORM_VALIDATION_MODE } from '@/lib/constants/form-constants';
4445
import { cn } from '@/lib/utils';
4546
import type { ProviderConfigureFieldsProps } from '@/types/my-organization/idp-management/sso-provider/sso-provider-create-types';
4647

@@ -87,8 +88,8 @@ export const PingFederateProviderForm = React.forwardRef<
8788

8889
const form = useForm<PingFederateConfigureFormValues>({
8990
resolver: zodResolver(createProviderConfigureSchema('pingfederate')),
90-
mode: 'onSubmit',
91-
reValidateMode: 'onChange',
91+
mode: FORM_VALIDATION_MODE,
92+
reValidateMode: FORM_REVALIDATE_MODE,
9293
defaultValues: {
9394
pingFederateBaseUrl: pingFederateData?.pingFederateBaseUrl || '',
9495
signingCert: pingFederateData?.signingCert || '',

packages/react/src/components/auth0/my-organization/shared/idp-management/sso-provider-create/provider-configure/samlp-sso-configure-form.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ import {
4343
} from '@/components/ui/select';
4444
import { TextField } from '@/components/ui/text-field';
4545
import { useTranslator } from '@/hooks/shared/use-translator';
46+
import { FORM_REVALIDATE_MODE, FORM_VALIDATION_MODE } from '@/lib/constants/form-constants';
4647
import { cn } from '@/lib/utils';
4748
import type { ProviderConfigureFieldsProps } from '@/types/my-organization/idp-management/sso-provider/sso-provider-create-types';
4849

@@ -92,8 +93,8 @@ export const SamlpProviderForm = React.forwardRef<
9293

9394
const form = useForm<SamlpConfigureFormValues>({
9495
resolver: zodResolver(createProviderConfigureSchema('samlp')),
95-
mode: 'onSubmit',
96-
reValidateMode: 'onChange',
96+
mode: FORM_VALIDATION_MODE,
97+
reValidateMode: FORM_REVALIDATE_MODE,
9798
defaultValues: {
9899
meta_data_source: samlpData?.meta_data_source || 'meta_data_url',
99100
metadataUrl: samlpData?.metadataUrl || '',

packages/react/src/components/auth0/my-organization/shared/idp-management/sso-provider-create/provider-configure/waad-sso-configure-form.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import { TextField } from '@/components/ui/text-field';
2727
import { useProviderFormMode } from '@/hooks/my-organization/use-provider-form-mode';
2828
import { useCoreClient } from '@/hooks/shared/use-core-client';
2929
import { useTranslator } from '@/hooks/shared/use-translator';
30+
import { FORM_REVALIDATE_MODE, FORM_VALIDATION_MODE } from '@/lib/constants/form-constants';
3031
import { cn } from '@/lib/utils';
3132
import type { ProviderConfigureFieldsProps } from '@/types/my-organization/idp-management/sso-provider/sso-provider-create-types';
3233

@@ -69,8 +70,8 @@ export const WaadProviderForm = React.forwardRef<WaadConfigureFormHandle, WaadCo
6970

7071
const form = useForm<WaadConfigureFormValues>({
7172
resolver: zodResolver(createProviderConfigureSchema('waad')),
72-
mode: 'onSubmit',
73-
reValidateMode: 'onChange',
73+
mode: FORM_VALIDATION_MODE,
74+
reValidateMode: FORM_REVALIDATE_MODE,
7475
defaultValues: {
7576
tenant_domain: waadData?.tenant_domain || '',
7677
client_id: waadData?.client_id || '',

0 commit comments

Comments
 (0)