Working Example of Phoenix Built in Form Component
From ElixirBlocks
defmodule AppWeb.PageLive do use AppWeb, :live_view def mount(_params, _session, socket) do {:ok, assign(socket, form: to_form(%{}, as: :my_form))} end def handle_event("save", params, socket) do IO.inspect params {:noreply, socket} end def handle_event("validate", params, socket) do IO.inspect params {:noreply, socket} end def render(assigns) do ~H""" <.form for={@form} phx-change="validate" phx-submit="save"> <.input type="text" field={@form[:username]} /> <.input type="email" field={@form[:email]} /> <button>Save</button> </.form> """ end end