From b8814cc8a54f711ee69ebdcebade3a412986dd36 Mon Sep 17 00:00:00 2001 From: Rob Sterner Date: Sat, 13 Jan 2024 21:01:06 -0500 Subject: [PATCH] show UI errors if somehow someone can submit this form --- app/views/registrations/new.html.erb | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/app/views/registrations/new.html.erb b/app/views/registrations/new.html.erb index 0f601a3b..3fab217f 100644 --- a/app/views/registrations/new.html.erb +++ b/app/views/registrations/new.html.erb @@ -8,18 +8,36 @@
<%= render("shared/flash") %> - <%= form_with(model: @registration, url: registrations_path, html: { class: "space-y-6" }) do |f| %> + <%= form_with(model: @registration, url: registrations_path, html: { class: "space-y-6" }, data: { turbo: false }) do |f| %>
<%= f.label :name, class: "block text-sm font-medium leading-6 text-gray-900" %>
- <%= f.text_field :name, required: true, class: "block w-full rounded-md border-0 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6" %> + <% + name_css_class = "block w-full rounded-md border-0 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6" + name_css_class << " text-red-900 ring-1 ring-inset ring-red-300 placeholder:text-red-300 focus:ring-2 focus:ring-inset focus:ring-red-500" if @registration.errors[:name].any? + %> + <%= f.text_field :name, + required: true, + class: name_css_class %>
+ <% if @registration.errors[:name].any? %> +

What should we call you?

+ <% end %>
<%= f.label :email, class: "block text-sm font-medium leading-6 text-gray-900" %>
- <%= f.email_field :email, required: true, class: "block w-full rounded-md border-0 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6" %> + <% + email_css_class = "block w-full rounded-md border-0 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6" + email_css_class << " text-red-900 ring-1 ring-inset ring-red-300 placeholder:text-red-300 focus:ring-2 focus:ring-inset focus:ring-red-500" if @registration.errors[:email].any? + %> + <%= f.email_field :email, + required: true, + class: email_css_class %>
+ <% if @registration.errors[:email].any? %> +

Please provide a valid email address.

+ <% end %>