SignUp handleSubmit skipValidation parameter not exposed in TypeScript types

Open Beginner friendly
#485 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
76/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
react, typescript

Research direction

Search the TypeScript definitions for BaseSignUpRenderProps and the equivalent BaseSignIn render-props type. Compare their handleSubmit declarations with the runtime signature described in the issue, update both declarations to expose the optional skipValidation parameter, then run the relevant type checks or tests to confirm consumers can pass the third argument.

Written by the indexing model from the issue text.

Description

Description

The handleSubmit function in the v2 SignUp/SignIn embedded flow components accepts a skipValidation third parameter, but this parameter is not exposed in the TypeScript type definitions. This makes it impossible for consumers using the render props pattern to skip validation for specific actions (e.g., social login triggers that don't need form inputs).

Current Behavior

The runtime function signature supports skipValidation:

// From compiled dist/index.js (~line 11844)
const handleSubmit = async (component, data, skipValidation) => {
    if (!skipValidation) {
      touchAllFields();
      const validation = validateForm();
      if (!validation.isValid) {
        return;
      }
    }
    // ... proceed with API call
};

But the TypeScript type in BaseSignUpRenderProps only declares:

handleSubmit: (component: any, data?: Record<string, any>) => Promise<void>;

The third parameter is missing from the type, so TypeScript consumers don't know it exists and can't use it without any casting.

Expected Behavior

The type should expose the skipValidation parameter:

handleSubmit: (component: any, data?: Record<string, any>, skipValidation?: boolean) => Promise<void>;

This allows consumers to decide when validation should be skipped based on their own logic. For example, in Thunder's gate, social login trigger buttons skip validation since they don't use form inputs:

onSubmit={(action, inputs) => {
    const isTrigger = action.eventType === EmbeddedFlowEventType.Trigger;
    void handleSubmit(action, inputs, isTrigger);
}}

Affected Components

  • v2 SignUp (BaseSignUp)BaseSignUpRenderProps.handleSubmit type definition
  • v2 SignIn (BaseSignIn) — equivalent render props type definition

Both have the skipValidation parameter in the runtime implementation but not in the types.

Related

Additional Context

  • SDK version: @asgardeo/react@0.23.1
  • The validation-skipping logic should remain a consumer decision, not an SDK-internal assumption — there are valid cases where trigger actions may still need form validation
Dominant language
TypeScript
Stars
18
Forks
67
Avg merge
4h 6m
Merged PRs (30d)
13

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from asgardeo/javascript

All issues in asgardeo/javascript

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.