Working Example of Phoenix Built in Form Component: Difference between revisions
From ElixirBlocks
No edit summary |
No edit summary |
||
| Line 10: | Line 10: | ||
def handle_event("save", params, socket) do | def handle_event("save", params, socket) do | ||
IO.inspect params | |||
{:noreply, socket} | |||
end | end | ||
def handle_event("validate", params, socket) do | |||
IO.inspect params | |||
{:noreply, socket} | |||
end | |||
def render(assigns) do | def render(assigns) do | ||
Revision as of 19:01, 18 October 2023
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