From 41818ada0f57a49021c8a3f4a40869cb76d88e1a Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Mon, 15 Sep 2025 10:04:49 +0200 Subject: [PATCH] transform 0,10 to 0.10 --- .../src/components/Contributions/ContributionForm.vue | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/Contributions/ContributionForm.vue b/frontend/src/components/Contributions/ContributionForm.vue index 22377cb01..402d37f43 100644 --- a/frontend/src/components/Contributions/ContributionForm.vue +++ b/frontend/src/components/Contributions/ContributionForm.vue @@ -163,10 +163,14 @@ const validationSchema = computed(() => { .min(5, ({ min }) => ({ key: 'form.validation.contributionMemo.min', values: { min } })) .max(512, ({ max }) => ({ key: 'form.validation.contributionMemo.max', values: { max } })) .required('form.validation.contributionMemo.required'), - hours: number() + hours: string() .typeError({ key: 'form.validation.hours.typeError', values: { min: 0.01, max: maxHours } }) .required() - // .transform((value, originalValue) => (originalValue === '' ? undefined : value)) + .transform((currentValue) => + !currentValue || typeof currentValue !== 'string' + ? currentValue + : currentValue.replace(',', '.'), + ) .min(0.01, ({ min }) => ({ key: 'form.validation.hours.min', values: { min } })) .max(maxHours, ({ max }) => ({ key: 'form.validation.hours.max', values: { max } })) .test('decimal-places', 'form.validation.hours.decimal-places', (value) => { @@ -217,7 +221,8 @@ const updateField = (newValue, name) => { if (typeof name === 'string' && name.length) { form[name] = newValue if (name === 'hours') { - const amount = form.hours ? hoursToAmount(form.hours) : GDD_PER_HOUR + const hoursTransformed = validationSchema.value.fields.hours.cast(newValue) + const amount = hoursTransformed ? hoursToAmount(hoursTransformed) : GDD_PER_HOUR form.amount = amount.toString() } }