The select
field.
Title | Select Field |
Description | Select Field |
Field Type | select |
Base Field Type | None |
Property | Type | Default | Description |
---|---|---|---|
default | any | The default value to be assigned for this property. If the data for the field is empty or not provided, this default value will be plugged in for you. Specify a default value when you want to pre-populate the field's value ahead of time. | |
dependencies | array | List of property dependencies. | |
description | string | Detailed description of the property. | |
disallow | array | List of disallowed values for the property. | |
enum | array | List of field value options | |
format | string | Data format of the property. | |
readonly | boolean | Indicates that the field is read-only. A read-only field cannot have it's value changed. Read-only fields render in a grayed-out or disabled control. If the field is rendered using a view with the displayReadonly attribute set to false, the read-only field will not appear. | |
required | boolean | Indicates whether the field's value is required. If set to true, the field must take on a valid value and cannnot be left empty or unassigned. | |
title | string | Short description of the property. | |
type | string | Data type of the property. |
Property | Type | Default | Description |
---|---|---|---|
dataSource | string | Datasource for generating list of options. This can be a string or a function. If a string, it is considered S be a URI to a service that produces a object containing key/value pairs or an array of elements of structure {'text': '', 'value': ''}. This can also be a function that is called to produce the same list. | |
disabled | boolean | Field will be disabled if true. | |
emptySelectFirst | boolean | If the data is empty, then automatically select the first item in the list. | |
fieldClass | string | Specifies one or more CSS classes that should be applied to the dom element for this field once it is rendered. Supports a single value, comma-delimited values, space-delimited values or values passed in as an array. | |
focus | checkbox | true | If true, the initial focus for the form will be set to the first child element (usually the first field in the form). If a field name or path is provided, then the specified child field will receive focus. For example, you might set focus to 'name' (selecting the 'name' field) or you might set it to 'client/name' which picks the 'name' field on the 'client' object. |
form | object | Options for rendering the FORM tag. | |
helper | string | Field help message. | |
helpers | array | An array of field help messages. Each message will be displayed on it's own line. | |
helpersPosition | string | below | Defines the placement location of the helper text relative to the control (either 'above' or 'below') |
hidden | boolean | Field will be hidden if true. | |
hideInitValidationError | boolean | Hide initial validation errors if true. | |
hideNone | boolean | Whether to hide the None option from a list (select, radio or otherwise). This will be true if the field is required and false otherwise. | |
id | string | Unique field id. Auto-generated if not provided. | |
join | function | For multiple select lists. Defines a f(a) for how selected options should be combined into a single string. A split function should also be defined which reverses this function. | |
label | string | Field label. | |
multiple | boolean | Allow multiple selection if true. | |
multiselect | any | Multiselect plugin properties - http://davidstutz.github.io/bootstrap-multiselect | |
name | string | Field Name. | |
noneLabel | string | None | The label to use for the 'None' option in a list (select, radio or otherwise). |
optionLabels | array | An array of string labels for items in the enum array | |
readonly | boolean | Field will be readonly if true. | |
removeDefaultNone | boolean | If true, the default 'None' option will not be shown. | |
showMessages | boolean | true | Display validation messages if true. |
size | number | Number of options to be shown. | |
sort | function | Defines an f(a,b) sort function for the array of enumerated values [{text, value}]. This is used to sort enum and optionLabels as well as results that come back from any data sources (for select and radio controls). By default the items are sorted alphabetically. Don't apply any sorting if false. | |
split | function | For multiple select lists. Defines a f(a) for how data strings should be split into individual values. A join function should also be defined which reverses this function. | |
type | string | select | Field type. |
useDataSourceAsEnum | boolean | true | Whether to constrain the field's schema enum property to the values that come back from the data source. |
validate | boolean | true | Field validation is required if true. |
view | string | Allows for this field to be rendered with a different view (such as 'display' or 'create') |
Select field with data, options and schema parameters. As default, a select field will be rendered if schema enum property has more than 3 options. The sort order for enumerated values and their text are assumed to be alphanumeric.
Here is the same select field but labels in French. The important thing to note is that the schema stays the same. The options change, letting you customize forms into different languages.
In addition, we apply a custom sort here using the options.sort
override. This lets us plug in a custom sort function.
Here we reverse the order.
Note: If you want to disable sorting, set sort
to false
. Or, if you wish to disable sorting for
all of your enumerated fields, set Alpaca.defaultSort
to false
. See the example below!
to false
Select field with options loaded from external data source.
Multiple select field with options loaded from external data source.
Select field with an onField event listener option that reacts to select change event.
Multiple select field for array data. Note that when using multiple select mode, the hideNone
option will default
to true.
Select field in display-only mode
Multiple select field that works with a local data source file (array of string values).
Multiple select field that works with a local data source file (array of object values).
Multiple select field that works with an inline datasource function.
Multiple select field that works with an inline datasource function.
A select field that uses the removeDefaultNone
option to remove the option for the end user to select None
from the list of available options.
Note that if the property that the field describes is required for data integrity to be maintained,
consider setting the property schema's required
setting to true
.
This produces the same effect and also allows your data to validate appropriately.
A select field that is required but which keeps the None
option. By default, required fields do not
have a None
option. Here we set the removeDefaultNone
option to false explicitly so that
the none option still appears.
This also changes the label from "None"
to "-- Select --"
.
A multi-select field with numeric selects.
Here is an example where we explicitly disable sorting. We do this within the field configuration. We could also do
this by globally setting Alpaca.defaultSort
to false
.
An example where we set the value after render.
Multiple select field for array data, using custom delimiters.