Saltar al contenido principal
Puede usar Signup Prompt Customization junto con el trigger pre-user-registration para agregar a user_metadata datos proporcionados por el usuario final en la pantalla de registro (como el número de teléfono o la ubicación de un usuario). Opcionalmente, puede validar estos datos y mostrar un error de validación en la pantalla.

Requisitos previos

Agrega un campo a la pantalla de registro

Usa la Management API para insertar un campo personalizado en una pantalla mediante uno de los puntos de entrada. En este ejemplo, se añade el siguiente contenido al punto de inserción ulp-container-form-content-start:
<div class="ulp-field">
  <label for="first-name">Nombre</label>
  <input type="text" name="ulp-first-name" id="first-name">
</div>
El resultado es una sección «Nombre» en la pantalla de registro:

Crear una Action en el trigger de prerregistro de usuario

Puede crear una Action personalizada de prerregistro de usuario desde Actions > Library > Build Custom.
En el editor de código, actualice el controlador onExecutePreUserRegistration:
exports.onExecutePreUserRegistration = async (event, api) => {
  const firstName = event.request.body['ulp-first-name'];
  api.user.setUserMetadata("firstName", firstName);
};
De forma opcional, puede validar la entrada del usuario y enviar un error de validación llamando al método api.validation.error; luego, implemente la Action:
exports.onExecutePreUserRegistration = async (event, api) => {
  const firstName = event.request.body['ulp-first-name'];
  if(!firstName) {
    api.validation.error("invalid_payload", "Missing first name");
    return;
  }

  api.user.setUserMetadata("firstName", firstName);
};

Añada la Action al flujo

Vaya a Actions > Flows > Pre User Registration > Add Action > Custom, luego arrastre y suelte la nueva Action en el flujo de registro y seleccione Apply.

Pruebe la Action

Registre una cuenta en el flujo de prueba y deje el campo Nombre en blanco. Verá un error al enviar el formulario:
Después de introducir un nombre en el campo Nombre, podrá enviar el formulario correctamente:

Verifique que los datos se hayan guardado en user_metadata

Vaya a User Management > Users y confirme que los datos se hayan guardado en la pestaña Details: