SignUp handleSubmit skipValidation parameter not exposed in TypeScript types

Abierto Apto para principiantes
#485 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Tranquilo
Stack tecnológico
react, typescript

Línea de trabajo

Busca las definiciones de TypeScript de BaseSignUpRenderProps y el tipo equivalente de render-props de BaseSignIn. Compara sus declaraciones de handleSubmit con la firma en tiempo de ejecución descrita en el issue, actualiza ambas declaraciones para exponer el parámetro opcional skipValidation y, después, ejecuta las comprobaciones de tipos o las pruebas pertinentes para confirmar que los consumidores pueden pasar el tercer argumento.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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
Lenguaje dominante
TypeScript
Estrellas
18
Forks
67
Merge medio
4 h 6 min
PR fusionados (30 d)
13

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de asgardeo/javascript

Todos los issues de asgardeo/javascript

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.