Class FormEmailVerificationProcessor

java.lang.Object
sk.iway.iwcm.components.multistep_form.support.FormEmailVerificationProcessor
All Implemented Interfaces:
FormProcessorInterface

@Component public class FormEmailVerificationProcessor extends Object implements FormProcessorInterface
Processor that handles email verification for multi-step forms.

Responsibilities:

  • After step 1, generates a verification code and sends it to the user's email.
  • During step 2, validates the code provided by the user and manages attempt limits.

Session keys are namespaced per form to avoid collisions between multiple forms processed in the same session.
  • Field Details

  • Constructor Details

    • FormEmailVerificationProcessor

      public FormEmailVerificationProcessor()
  • Method Details

    • runStepInterceptor

      public void runStepInterceptor(String formName, FormStepEntity stepEntity, org.json.JSONObject stepData, javax.servlet.http.HttpServletRequest request, Map<String,String> errors) throws SaveFormException
      Description copied from interface: FormProcessorInterface
      Executes an optional interceptor after a step is submitted, for example sending a verification code to email or SMS.
      Specified by:
      runStepInterceptor in interface FormProcessorInterface
      Parameters:
      formName - logical identifier of the form
      stepData - JSON payload containing the step fields and values
      request - current HTTP request for context and additional data
      errors - mutable map to collect error messages produced by the interceptor
      Throws:
      SaveFormException - to abort the flow when the interceptor detects blocking issues
    • validateStep

      public void validateStep(String formName, FormStepEntity stepEntity, org.json.JSONObject stepData, javax.servlet.http.HttpServletRequest request, Map<String,String> errors) throws SaveFormException
      Description copied from interface: FormProcessorInterface
      Validates user-submitted data for a specific step of a multistep form.
      Specified by:
      validateStep in interface FormProcessorInterface
      Parameters:
      formName - logical identifier of the form
      stepData - JSON payload containing the step fields and values
      request - current HTTP request for context and additional data
      errors - mutable map to collect field or general error messages (key → message)
      Throws:
      SaveFormException - when validation fails in a way that should stop processing
    • handleFormSave

      public boolean handleFormSave(String formName, FormSettingsEntity formSettings, Integer iLastDocId, javax.servlet.http.HttpServletRequest request) throws SaveFormException, IOException
      Description copied from interface: FormProcessorInterface
      Performs custom final save logic for the form. The return value controls whether the default WebJET save mechanism is executed.
      Specified by:
      handleFormSave in interface FormProcessorInterface
      Parameters:
      formName - logical identifier of the form
      formSettings - configuration of the form used during saving
      iLastDocId - last document ID (if any) associated with the submission
      request - current HTTP request for context and additional data
      Returns:
      true to continue with the default WebJET save; false to skip it
      Throws:
      SaveFormException - for functional errors during save
      IOException - for I/O related problems that occur during save