From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id D38D41FF146 for ; Tue, 26 May 2026 16:19:33 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id A6744298B; Tue, 26 May 2026 16:19:33 +0200 (CEST) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Tue, 26 May 2026 16:18:59 +0200 Message-Id: Subject: Re: [PATCH datacenter-manager] ui: auto-installer: correctly validate numeric counters in form From: "Lukas Wagner" To: "Dominik Csapak" , X-Mailer: aerc 0.21.0-0-g5549850facc2-dirty References: <20260526140647.3594593-1-d.csapak@proxmox.com> In-Reply-To: <20260526140647.3594593-1-d.csapak@proxmox.com> X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1779805115358 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.053 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: SVZMEDMI4SPNR2FOKQNOMQDNEFWFRC3H X-Message-ID-Hash: SVZMEDMI4SPNR2FOKQNOMQDNEFWFRC3H X-MailFrom: l.wagner@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Tue May 26, 2026 at 4:06 PM CEST, Dominik Csapak wrote: > field values are usually strings, so when a user entered any number > here, it would display: > > invalid value: "1" > > since only numbers were expected here. > > To fix this, simply parse strings into numbers. > > Signed-off-by: Dominik Csapak > --- > ui/src/remotes/auto_installer/prepared_answer_form.rs | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/ui/src/remotes/auto_installer/prepared_answer_form.rs b/ui/s= rc/remotes/auto_installer/prepared_answer_form.rs > index d932efe7..b5c59626 100644 > --- a/ui/src/remotes/auto_installer/prepared_answer_form.rs > +++ b/ui/src/remotes/auto_installer/prepared_answer_form.rs > @@ -1040,7 +1040,12 @@ fn kv_list_to_template_counter_map_validate(v: &Ve= c<(String, Value)>) -> Result< > let mut map =3D BTreeMap::::new(); > for (k, v) in v { > if TEMPLATE_COUNTER_NAME_REGEX.is_match(k) { > - match v.as_i64().and_then(|v| v.try_into().ok()) { > + let value =3D match v { > + Value::Number(number) =3D> number.as_i64(), > + Value::String(text) =3D> text.parse().ok(), > + _ =3D> None, > + }; > + match value.and_then(|v| v.try_into().ok()) { > Some(v) =3D> { > map.insert(k.clone(), v); > } I'm still getting a 'invalid value: ""' when adding a new template counter, the error goes away once I edit the "Current Value" (e.g delete the '0' and type in '0' again). Can you reproduce this?