The code example at the top of page 140 includes the phx-debounce=blur
binding:
<.input field={@form[:email]} type="email"
label="Email" phx-debounce="blur" />
This binding is later explained in “Rate Limit Form Events” on pages 146-147. The explanation implies that the phx-debounce=blur
binding should not have been included in the earlier code example.
Let’s use debounce to delay the firing of the phx-change event until a user has blurred the email input field:
<.input field={@form[:email]} type="email"
label="Email" phx-debounce="blur" />
Now, if you visit /promo and type just one letter into the email field, the error message will not appear prematurely. …