CreateUiDefinition elements

This article describes the schema and properties for all supported elements of a createUiDefinition.json file.

Schema

The schema for most elements is as follows:

{
  "name": "element1",
  "type": "Microsoft.Common.TextBox",
  "label": "Some text box",
  "defaultValue": "my value",
  "toolTip": "Provide a descriptive name.",
  "constraints": {},
  "options": {},
  "visible": true
}
Property Required Description
name Yes An internal identifier to reference a specific instance of an element. The most common usage of the element name is in outputs, where the output values of the specified elements are mapped to the parameters of the template. You can also use it to bind the output value of an element to the defaultValue of another element.
type Yes The UI control to render for the element. For a list of supported types, see Elements.
label Yes The display text of the element. Some element types contain multiple labels, so the value could be an object containing multiple strings.
defaultValue No The default value of the element. Some element types support complex default values, so the value could be an object.
toolTip No The text to display in the tool tip of the element. Similar to label, some elements support multiple tool tip strings. Inline links can be embedded using Markdown syntax.
constraints No One or more properties that are used to customize the validation behavior of the element. The supported properties for constraints vary by element type. Some element types don't support customization of the validation behavior, and thus have no constraints property.
options No More properties that customize the behavior of the element. Similar to constraints, the supported properties vary by element type.
visible No Indicates whether the element is displayed. If true, the element and applicable child elements are displayed. The default value is true. Use logical functions to dynamically control this property's value.

Elements

The documentation for each element contains a UI sample, schema, remarks on the behavior of the element (usually concerning validation and supported customization), and sample output.

Next steps

For an introduction to creating UI definitions, see Getting started with CreateUiDefinition.