From cca2ca46323df4508089ac26bdb1fcdc754f66f6 Mon Sep 17 00:00:00 2001 From: Moritz Date: Mon, 23 Feb 2026 22:49:52 +0100 Subject: [PATCH] FormComponent: persist vereinfacht_required_field? in socket Assign in assign_form so validate/save enforce server-side without relying on render assigns; use socket.assigns.vereinfacht_required_field? --- lib/mv_web/live/member_field_live/form_component.ex | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/mv_web/live/member_field_live/form_component.ex b/lib/mv_web/live/member_field_live/form_component.ex index eba86d1..ae9e239 100644 --- a/lib/mv_web/live/member_field_live/form_component.ex +++ b/lib/mv_web/live/member_field_live/form_component.ex @@ -209,7 +209,7 @@ defmodule MvWeb.MemberFieldLive.FormComponent do end required = - socket.assigns[:vereinfacht_required_field?] || + socket.assigns.vereinfacht_required_field? || if Map.has_key?(member_field_params, "required") do TypeParsers.parse_boolean(member_field_params["required"]) else @@ -245,7 +245,7 @@ defmodule MvWeb.MemberFieldLive.FormComponent do end required = - socket.assigns[:vereinfacht_required_field?] || + socket.assigns.vereinfacht_required_field? || if Map.has_key?(member_field_params, "required") do TypeParsers.parse_boolean(member_field_params["required"]) else @@ -291,6 +291,13 @@ defmodule MvWeb.MemberFieldLive.FormComponent do normalized_required = VisibilityConfig.normalize(required_config) show_in_overview = Map.get(normalized_visibility, member_field, true) vereinfacht_required? = Mv.Config.vereinfacht_configured?() + # Persist in socket so validate/save can enforce server-side without relying on render assigns + socket = + assign( + socket, + :vereinfacht_required_field?, + vereinfacht_required_field?(%{member_field: member_field}) + ) # Email always required; Vereinfacht-required fields when integration active; else from settings required =