UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

48 lines 1.37 kB
import { dnr, fnr } from '@navikt/fnrvalidator'; function identificationNumberIsOfLength(identificationNumber, length) { return identificationNumber?.length === length; } export function validateFnr(value, { errorFnr, errorFnrLength }) { if (value !== undefined) { if (Number.parseInt(value.substring(0, 1), 10) > 3) { return Error(errorFnr); } const fnrIs11Digits = identificationNumberIsOfLength(value, 11); if (!fnrIs11Digits) { return Error(errorFnrLength); } if (fnrIs11Digits && fnr(value).status === 'invalid') { return Error(errorFnr); } } return undefined; } export function validateDnr(value, { errorDnr, errorDnrLength }) { if (value !== undefined) { if (Number.parseInt(value.substring(0, 1), 10) < 4) { return Error(errorDnr); } const dnrIs11Digits = identificationNumberIsOfLength(value, 11); if (!dnrIs11Digits) { return Error(errorDnrLength); } if (dnrIs11Digits && dnr(value).status === 'invalid') { return Error(errorDnr); } } return undefined; } export function validateDnrAndFnr(value, errorMessages) { const dnrValidationPattern = '^[4-9].*'; if (new RegExp(dnrValidationPattern).test(value)) { return validateDnr(value, errorMessages); } return validateFnr(value, errorMessages); } //# sourceMappingURL=validators.js.map