From bad5e994b6fb2c79b40bbf8ab04177cae7f090a9 Mon Sep 17 00:00:00 2001 From: Lucas Vas Date: Sat, 3 Jan 2026 16:00:37 -0500 Subject: [PATCH] feat: implement validation for radio list component --- src/components/radio.rs | 152 ++++++++++++++++++++++++++-------------- src/pages/home_page.rs | 3 +- 2 files changed, 101 insertions(+), 54 deletions(-) diff --git a/src/components/radio.rs b/src/components/radio.rs index fd8af70..32680ac 100644 --- a/src/components/radio.rs +++ b/src/components/radio.rs @@ -2,16 +2,17 @@ use crate::common::ValueType; use crate::components::utils::create_unique_id; use leptos::prelude::*; use std::collections::HashMap; +use crate::components::{use_validation_context, InputState, ValidationState}; #[component] pub fn Radio( #[prop()] checked: Signal, #[prop(into)] on_change: Callback<(), ()>, - #[prop(into)] value: String, - #[prop(into)] name: String, + #[prop(into)] value: Signal, + #[prop(into)] name: Signal, #[prop(optional, into)] disabled: Signal, ) -> impl IntoView { - let id = create_unique_id(&name, &value); + let id = create_unique_id(&name.get_untracked(), &value.get_untracked()); view! {