MishkaGervaz.Form.Web.Events.SubmitHandler (MishkaGervaz v0.0.1-alpha.2)

Copy Markdown View Source

Handles form submission (phx-submit events).

Overridable Functions

  • submit/3 - Submit the form (create or update)
  • transform_params/2 - Transform params before submission
  • after_save/3 - Handle post-save logic

User Override

defmodule MyApp.Form.SubmitHandler do
  use MishkaGervaz.Form.Web.Events.SubmitHandler

  def transform_params(state, params) do
    params |> super(state) |> Map.put("custom_field", "value")
  end
end

Top-level helpers (format_form_errors/1, extract_form_level_errors/2, cleanup_temp_uploads/1, push_js_hook/4, merge_defaults/2, drop_protected_fields/2, field_restricted?/2, field_readonly?/2) are public so user overrides can reuse them — they live outside the __using__ macro to avoid per-consumer compile cost.

See MishkaGervaz.Form.Web.Events, MishkaGervaz.Form.Web.Events.Helpers (for parse_typed_params/2 and merge_uploaded_files/4), MishkaGervaz.Form.Web.DataLoader, MishkaGervaz.Form.Web.UploadHelpers, and the sibling sub-handlers.