UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

123 lines (101 loc) 2.79 kB
--- 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 --- # Field.Provider ## Import ```tsx import { Field } from '@dnb/eufemia/extensions/forms' render(<Field.Provider />) ``` ## Description `Field.Provider` is a provider for forwarding fields properties, such as `required` or `disabled` to all nested field components. ## Usage ```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}`. ## Demos ### Required ```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" } } } ```