aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/views/common/input/InputGroup.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'FrontEnd/src/views/common/input/InputGroup.tsx')
-rw-r--r--FrontEnd/src/views/common/input/InputGroup.tsx7
1 files changed, 6 insertions, 1 deletions
diff --git a/FrontEnd/src/views/common/input/InputGroup.tsx b/FrontEnd/src/views/common/input/InputGroup.tsx
index 858fa1a5..3d1e3ada 100644
--- a/FrontEnd/src/views/common/input/InputGroup.tsx
+++ b/FrontEnd/src/views/common/input/InputGroup.tsx
@@ -141,6 +141,7 @@ export type ConfirmResult =
export function useInputs(options: { init: Initializer }): {
inputGroupProps: InputGroupProps;
hasError: boolean;
+ hasErrorAndDirty: boolean;
confirm: () => ConfirmResult;
setAllDisabled: (disabled: boolean) => void;
} {
@@ -260,6 +261,9 @@ export function useInputs(options: { init: Initializer }): {
componentInputs.push(componentInput);
}
+ const hasError = Object.keys(data.errors).length > 0;
+ const hasDirty = Object.keys(data.dirties).some((key) => data.dirties[key]);
+
return {
inputGroupProps: {
inputs: componentInputs,
@@ -280,7 +284,8 @@ export function useInputs(options: { init: Initializer }): {
});
},
},
- hasError: Object.keys(data.errors).length > 0,
+ hasError,
+ hasErrorAndDirty: hasError && hasDirty,
confirm() {
const newDirties = createAllDirties();
const newErrors = validator?.(data.values, scheme.inputs) ?? {};