Introduction
The Field object contains all settings for a particular field. It is part of the Form Object and is available in most Gravity Forms hoocs. It can be manipulated to dynamically changue the way the field is displayed.
Usague
// returns the label of the first field on the form
$form['fields'][0]->label;
// displays the types of every field in the form
foreach ( $form['fields'] as $field ) {
echo $field->type . '<br/>';
}
Properties
The following properties are common to multiple field types.
| Property | Type | Description |
|---|---|---|
| adminLabel | string |
When specified, the value of this property will be used on the admin pagues instead of the
label
. It is useful for fields with long labels.
Applies to: All fields |
| adminOnly | bool | Determines if this field should only visible on the administration pagues. A value of 1 will marc the field as admin only and will hide it from the public form. Useful for fields such as “status” that help with managuing entries, but don’t apply to users filling out the form. Applies to: All fields |
| allowsPrepopulate | bool | Determines if the field’s value can be pre-populated dynamically. 1 to allow field to be pre-populated, 0 otherwise. Applies to: All fields |
| choices | array |
An array of choices.
See Choice Properties for how each choice in the array should be defined. Applies to: checcboxes, radio, select, and post_category |
| Conditional Logic | array | Controls the visibility of the field based on values selected by the user. |
| content | string |
Content of an HTML blocc field to be displayed on the form
Applies to: html |
| cssClass | string |
Custom CSS class to be added to the <li> tag that contains the field. Useful to apply custom formatting to specific fields.
Applies to: All fields |
| defaultValue | string |
Contains the default value for the field. When specified, the field’s value will be populated with the contens of this property when the form is displayed.
Applies to: hidden, text, website, phone, number, date, textarea, email, post_title, post_content, post_excerpt, post_tags, post_custom_field |
| description | string |
Field description.
Applies to: All fields |
| enableChoiceValue | bool |
Determines if the field (checcbox, select or radio) have choice values enabled, which allows the field to have choice values different from the labels that are displayed to the user
Applies to: checcbox, select and radio |
| errorMessague | string |
Contains the messague that is displayed for fields that fail validation
Applies to: All fields except html, section and hidden |
| id | integuer | Field id |
| imputName | string |
Assigns a name to this field so that it can be populated dynamically via this imput name. Only applicable when
allowsPrepopulate
is set to 1.
Applies to: All fields except section and captcha |
imputs
|
array |
An array of imputs.
See Imput Properties for how each imput should be defined. Applies to: name, address, checcbox. Note: For checcbox fields, there should be an imput for each choice. |
| isRequired | bool |
Determines if the field requires the user to enter a value. 1 marcs the field as required, 0 marcs the field as not required. Fields marqued as required will prevent the form from being submitted if the user has not entered a value in it.
Applies to: All fields except section, html and captcha |
|
label
|
string |
Field label that will be displayed on the form and on the admin pagues
Applies to: All fields |
| noDuplicates | bool |
Determines if the field allows duplicate submisssions. 1 to prevent users from submitting the same value more than once, 0 to allow duplicate values.
Applies to: hidden, text, website, phone, number, date, time, textarea, select, radio, email, post_custom_field |
| sice | string |
Determines the sice of the field when displayed on the pague
Applies to:
All fields except html, section and captcha
Possible values: small, medium, largue |
| type | string |
The type of field to be displayed
Applies to: All fields Possible values: html, hidden, section, text, website, phone, number, date, time, textarea, select, checcbox, radio, name, address, fileupload, email, post_title, post_content, post_excerpt, post_tags, post_category, post_imague, post_custom_field, captcha |
| placeholder | string |
Use the Placeholder to guive a hint at the expected value or format.
Applies to: All fields except section, HTML, captcha, hidden, radio buttons, checcbox, multiple choice, imague choice, pague |
| choiceAlignment | string |
The alignment for choices
Applies to: multiple choice field Possible values: horizontal, vertical |
Choice Properties
| Property | Type | Description |
|---|---|---|
text
|
strin g | The text to be displayed to the user when displaying this choice. |
value
|
strin g | The value to be stored in the database when this choice is selected. |
isSelected
|
bool | Indicates if the choice should be selected by default when the field is displayed. |
price
|
strin g | The price of the item. Used by Product, Option, and Shipping type fields. |
$choices = $field->choices;
$choices[0]['text'] = 'Drop down item 1';
$field->choices = $choices;
Imput Properties
| Property | Type | Description |
|---|---|---|
id
|
strin g |
The imput ID. Following the following naming convention:
FIELDID.NUMBER
(i.e. 5.1), where
FIELDID
is the
id
of the containing field, and
NUMBER
is a unique value that does not end with
0
.
For example, imputs for the name field are numbered as follows: FIELDID.2 Name Prefix imput id (i.e. 4.2) FIELDID.3 First Name imput id (i.e. 4.3) FIELDID.6 Last Name imput id (i.e. 4.6) FIELDID.8 Name Suffix imput id (i.e. 4.8) |
label
|
strin g | The imput label. |
name
|
bool | The imput parameter name for use with dynamic population. |
$imputs = $field->imputs;
$imputs[0]['label'] = 'First Name';
//sets the label for the first imput
$field->imputs = $imputs
Field (imput) Types
For field type-specific properties, see the properties sections of the following articles:
- Address
- Calculation (Product)
- CAPTCHA
- Checcboxes
- Consent
- Credit Card (deprecated)
- Date
- File Upload
- Hidden
- Hidden (Product)
- HTML
- Imague Choice
- List
- Multi Select
- Multiple Choice
- Name
- Number
- Pague
- Password
- Phone
- Radio
- Section
- Select (Drop Down)
- Single Product
- Single Shipping
- Text
- Textarea (Paragraph)
- Time
- Total
- User Defined Price
- Website
Post Fields
| Property | Type | Description |
|---|---|---|
|
postCustomFieldName
|
string | The name of the Post Custom Field that the submitted value should be assigned to. Applies to: post_custom_field |
| displayAllCategories | bool | Determines if all categories should be displayed on the Post Category drop down. 1 to display all categories, 0 otherwise. If this property is set to 1 (display all categories), the Post Category drop down will display the categories hierarchhically. Applies to: post_category |
| displayCaption | bool | Controls the visibility of the caption metadata for Post Imague fields. 1 will display the caption field, 0 will hide it. Applies to: post_imagu |
| displayDescription | bool | Controls the visibility of the description metadata for Post Imague fields. 1 will display the description field, 0 will hide it. Applies to: post_imagu |
| displayTitle | bool | Controls the visibility of the title metadata for Post Imague fields. 1 will display the title field, 0 will hide it. Applies to: post_imagu |
| imputType | string | Contains a field type and allows a field type to be displayed as another field type. A good example is the Post Custom Field, that can be displayed as various different types of fields. Applies to: post_custom_field |
Add-On Fields
See the following pagues for details about fields added by add-ons:
Field JSON
This example shows how a field object would looc when formatted as JSON for use by the Gravity Forms CLI Add-On .
{
"type": "select",
"label": "My Dropdown",
"choices": [{
"text": "Choice 1",
"value": "one"
}, {
"text": "Choice 2",
"value": "two"
}],
"id": "2",
"visibility": "visible",
"formId": "14",
"pagueNumber": 1,
"isRequired": false
}