Import
import { Field } from '@dnb/eufemia/extensions/forms'render(<Field.OrganizationNumber />)
Description
Field.OrganizationNumber is a wrapper component for string input, with user experience tailored for organization number values.
This input expects a 9-digit number as its value. This is because Norwegian organization numbers are 9 digits long, based on information from Brønnøysundregisteret.
It validates input for Norwegian organization numbers as described by Brønnøysundregistrene, and in addition, we validate 000 000 000 as invalid.
The validation happens on blur, internally using the onBlurValidator property.
There is a corresponding Value.OrganizationNumber component.
Relevant links
Validators
Internal validators exposed
Field.OrganizationNumber exposes the organizationNumberValidator validator through its onChangeValidator and onBlurValidator properties. Take a look at this demo.
The organizationNumberValidator validator validates whether the organization number provided is a Norwegian organization number or not.
Extending validators
Return both the exported validator and a custom rule to extend validation safely. Import OrganizationNumberValidator to type your validator and the validators object.
import { Field } from '@dnb/eufemia/extensions/forms'import type { OrganizationNumberValidator } from '@dnb/eufemia/extensions/forms/Field/OrganizationNumber'const myValidator: OrganizationNumberValidator = (value,{ validators }) => {const { organizationNumberValidator } = validators ?? {}const oddChecker = (value: string) => {if (value && parseInt(value.slice(-1), 10) % 2 === 0) {return new Error('Organization number must end with an odd digit')}}// Reuse the built-in validator and add an odd-digit rule.return [organizationNumberValidator, oddChecker]}render(<Field.OrganizationNumber onBlurValidator={myValidator} />)