# `MishkaGervaz.Form.Web.Events.HookRunner`
[🔗](https://github.com/mishka-group/mishka_gervaz/blob/v0.0.1-alpha.4/lib/mishka_gervaz/form/web/events/hook_runner.ex#L1)

Executes lifecycle hooks during form events.

## Overridable Functions

- `run_hook/3` - Run a hook by name with arguments
- `apply_hook_result/2` - Apply hook result to target

## User Override

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

      def run_hook(hooks, hook_name, args) do
        Logger.debug("Running form event hook: #{hook_name}")
        super(hooks, hook_name, args)
      end
    end

See `MishkaGervaz.Form.Web.Events`,
`MishkaGervaz.Form.Web.Events.Helpers`, and the sibling sub-handlers
`SanitizationHandler`, `ValidationHandler`, `SubmitHandler`,
`StepHandler`, `UploadHandler`, `RelationHandler`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
