diff --git a/CHANGELOG.md b/CHANGELOG.md index eb3eebcd..14383cce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ * [UIQM-522](https://issues.folio.org/browse/UIQM-522) Create/Derive a new MARC bib record & Create a MARC holdings | Default state of Save & close button should be disabled. * [UIQM-534](https://issues.folio.org/browse/UIQM-534) Remove fields that have no MARC tag and no subfield value. * [UIQM-381](https://issues.folio.org/browse/UIQM-381) Create Orig Authority Record: Populate new record with default Leader values. +* [UIQM-526](https://issues.folio.org/browse/UIQM-526) Refactor validation functionality. ## [7.0.5](https://github.com/folio-org/ui-quick-marc/tree/v7.0.5) (2023-12-11) diff --git a/src/QuickMarcEditor/utils.js b/src/QuickMarcEditor/utils.js index 0f080e91..1cf18c2c 100644 --- a/src/QuickMarcEditor/utils.js +++ b/src/QuickMarcEditor/utils.js @@ -33,7 +33,6 @@ import { CREATE_AUTHORITY_RECORD_DEFAULT_FIELD_TAGS, UNCONTROLLED_ALPHA, UNCONTROLLED_NUMBER, - TAG_LENGTH, AUTHORITY_FIXED_FIELD_DEFAULT_TYPE, } from './constants'; import { RECORD_STATUS_NEW } from './QuickMarcRecordInfo/constants'; diff --git a/src/hooks/useValidation/useValidation.js b/src/hooks/useValidation/useValidation.js index 356c3b45..04817516 100644 --- a/src/hooks/useValidation/useValidation.js +++ b/src/hooks/useValidation/useValidation.js @@ -1,8 +1,7 @@ -import { useCallback } from 'react'; import { validators } from './rules'; const useValidation = (context) => { - const validate = useCallback((marcRecords) => { + const validate = (marcRecords) => { const validationRules = validators[context.marcType][context.action]; const errorMessage = validationRules.reduce((_errorMessage, rule) => { @@ -20,7 +19,7 @@ const useValidation = (context) => { }, null); return errorMessage; - }, [context]); + }; return { validate }; }; diff --git a/src/hooks/useValidation/validators.js b/src/hooks/useValidation/validators.js index f4e6e7f3..767bad18 100644 --- a/src/hooks/useValidation/validators.js +++ b/src/hooks/useValidation/validators.js @@ -55,7 +55,7 @@ export const validateEmptySubfields = ({ marcRecords }, rule) => { export const validateSubfieldValueExists = (context, rule) => { const { marcRecords } = context; - if (rule.ignore && rule.ignore(context)) { + if (rule.ignore?.()) { return undefined; } @@ -73,7 +73,7 @@ export const validateSubfieldValueExists = (context, rule) => { export const validateExistence = (context, rule) => { const { marcRecords } = context; - if (rule.ignore && rule.ignore(context)) { + if (rule.ignore?.()) { return undefined; } @@ -186,7 +186,7 @@ export const validate$9InLinkable = ({ marcRecords, linkableBibFields }, rule) = export const validateTagChanged = (context, rule) => { const { marcRecords, initialValues } = context; - if (rule.ignore && rule.ignore(context)) { + if (rule.ignore?.()) { return undefined; } @@ -201,7 +201,7 @@ export const validateTagChanged = (context, rule) => { return undefined; }; export const validateSubfieldChanged = (context, rule) => { - if (rule.ignore && rule.ignore(context)) { + if (rule.ignore?.()) { return undefined; }