@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
123 lines (101 loc) • 2.79 kB
Markdown
---
title: 'Field.Provider'
description: '`Field.Provider` is a provider for forwarding fields properties, such as `required` or `disabled` to all nested field components.'
version: 10.104.0
generatedAt: 2026-04-17T18:46:12.733Z
checksum: 090b7d977ba4be5e2c4c04d199a30a4048416c59f443a56985df2f80629d9c40
---
```tsx
import { Field } from '@dnb/eufemia/extensions/forms'
render(<Field.Provider />)
```
`Field.Provider` is a provider for forwarding fields properties, such as `required` or `disabled` to all nested field components.
```tsx
import { Form, Field } from '@dnb/eufemia/extensions/forms'
render(
<Field.Provider required disabled>
<Field.String />
</Field.Provider>
)
```
Keep in mind, you can also set `required` or `disabled` on the [Form.Handler](/uilib/extensions/forms/Form/Handler/). And invert the logic via the `Field.Provider` by using `required={false}` or `disabled={false}`.
```tsx
render(
<Form.Handler>
<Flex.Stack>
<Field.String label="Not required" />
<Field.Provider required>
<Field.String label="Required A" />
<Field.Number label="Required B" />
</Field.Provider>
<Form.ButtonRow>
<Form.SubmitButton />
</Form.ButtonRow>
</Flex.Stack>
</Form.Handler>
)
```
### Disabled
```tsx
render(
<Form.Handler>
<Flex.Stack>
<Field.String label="Not disabled" />
<Field.Provider disabled>
<Flex.Stack>
<Field.String label="Disabled" />
<Form.ButtonRow>
<Form.SubmitButton />
</Form.ButtonRow>
</Flex.Stack>
</Field.Provider>
</Flex.Stack>
</Form.Handler>
)
```
### Inverted
```tsx
render(
<Form.Handler disabled>
<Flex.Stack>
<Field.String label="Disabled" />
<Field.Provider disabled={false}>
<Flex.Stack>
<Field.String label="Not disabled" />
<Form.ButtonRow>
<Form.SubmitButton />
</Form.ButtonRow>
</Flex.Stack>
</Field.Provider>
</Flex.Stack>
</Form.Handler>
)
```
## Properties
```json
{
"props": {
"required": {
"doc": "When set to `true`, the field will give an error if the value fails the required validation. When set to `false`, the field will not be required, but will add a \"(optional)\" suffix to the label.",
"type": "boolean",
"status": "optional"
},
"disabled": {
"doc": "Set `true` to show the field but without the possibility of changing the value.",
"type": "boolean",
"status": "optional"
},
"locale": {
"doc": "Locale (language) to use for all nested Eufemia components.",
"type": "string",
"status": "optional"
}
}
}
```