From 61338cd404ce16f48c91ba3f38ea3a3e691db112 Mon Sep 17 00:00:00 2001 From: KKlochko Date: Wed, 7 May 2025 18:29:42 +0300 Subject: [PATCH] Update the input component to show errors depend on the show_errors? attribute. --- .../components/core_components.ex | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/decentralised_book_index_web/components/core_components.ex b/lib/decentralised_book_index_web/components/core_components.ex index ebbca71..30e1a47 100644 --- a/lib/decentralised_book_index_web/components/core_components.ex +++ b/lib/decentralised_book_index_web/components/core_components.ex @@ -345,6 +345,7 @@ defmodule DecentralisedBookIndexWeb.CoreComponents do doc: "a form field struct retrieved from the form, for example: @form[:email]" attr :errors, :list, default: [] + attr :show_errors?, :boolean, default: true attr :checked, :boolean, doc: "the checked flag for checkbox inputs" attr :prompt, :string, default: nil, doc: "the prompt for select inputs" attr :options, :list, doc: "the options to pass to Phoenix.HTML.Form.options_for_select/2" @@ -386,7 +387,9 @@ defmodule DecentralisedBookIndexWeb.CoreComponents do /> {@label} - <.error :for={msg <- @errors}>{msg} + <%= if @show_errors? do %> + <.error :for={msg <- @errors}>{msg} + <% end %> """ end @@ -405,7 +408,9 @@ defmodule DecentralisedBookIndexWeb.CoreComponents do {Phoenix.HTML.Form.options_for_select(@options, @value)} - <.error :for={msg <- @errors}>{msg} + <%= if @show_errors? do %> + <.error :for={msg <- @errors}>{msg} + <% end %> """ end @@ -424,7 +429,9 @@ defmodule DecentralisedBookIndexWeb.CoreComponents do ]} {@rest} >{Phoenix.HTML.Form.normalize_value("textarea", @value)} - <.error :for={msg <- @errors}>{msg} + <%= if @show_errors? do %> + <.error :for={msg <- @errors}>{msg} + <% end %> """ end @@ -446,7 +453,9 @@ defmodule DecentralisedBookIndexWeb.CoreComponents do ]} {@rest} /> - <.error :for={msg <- @errors}>{msg} + <%= if @show_errors? do %> + <.error :for={msg <- @errors}>{msg} + <% end %> """ end