From 9f2451e829363d29d02c538c7cb681d2cde9adb1 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Wed, 4 Aug 2021 14:32:46 +0100 Subject: [PATCH] Don't treat nullish values as default values, to allow clearing fields even when a default value is set --- .../src/forms/InnerForm.svelte | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/standard-components/src/forms/InnerForm.svelte b/packages/standard-components/src/forms/InnerForm.svelte index f6fadfa5cb..64901d1919 100644 --- a/packages/standard-components/src/forms/InnerForm.svelte +++ b/packages/standard-components/src/forms/InnerForm.svelte @@ -92,21 +92,19 @@ return } - const newValue = value == null ? defaultValue : value - const newError = validate ? validate(newValue) : null - // Update field state + const error = validate ? validate(value) : null fieldState.update(state => { - state.value = newValue - state.error = newError + state.value = value + state.error = error return state }) // Update form state formState.update(state => { - state.values = { ...state.values, [field]: newValue } - if (newError) { - state.errors = { ...state.errors, [field]: newError } + state.values = { ...state.values, [field]: value } + if (error) { + state.errors = { ...state.errors, [field]: error } } else { delete state.errors[field] } @@ -114,7 +112,7 @@ return state }) - return !newError + return !error } const clearValue = () => {