diff options
author | crupest <crupest@outlook.com> | 2023-07-29 22:00:59 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2023-07-29 22:00:59 +0800 |
commit | 22e8f24e7f7574915e4c75d3c6a5498f6e621ee8 (patch) | |
tree | a164dbcb6bf2e87e275cc736b65a22f34f788b14 /FrontEnd/src/views/common/input | |
parent | 13f6f2a451feede8037d18cfbac64843e108ccbd (diff) | |
download | timeline-22e8f24e7f7574915e4c75d3c6a5498f6e621ee8.tar.gz timeline-22e8f24e7f7574915e4c75d3c6a5498f6e621ee8.tar.bz2 timeline-22e8f24e7f7574915e4c75d3c6a5498f6e621ee8.zip |
...
Diffstat (limited to 'FrontEnd/src/views/common/input')
-rw-r--r-- | FrontEnd/src/views/common/input/InputGroup.tsx | 7 |
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) ?? {}; |