IntroductionUsagePropertiesBasic PropertiesPost FieldsAdvanced FieldsNumberDatePhoneName and AddressFile UploadCAPTCHAOtherPricing FieldsAdd-On FieldsField JSON
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 hooks. It can be manipulated to dynamically change the way the field is displayed.
Usage
12// returns the label of the first field on the form$form['fields'][0]->label;
1234// displays the types of every field in the formforeach ( $form['fields'] as $field ) { echo $field->type . '
';}
Properties
Basic Properties
adminLabel string When specified, the value of this property will be used on the admin pages instead of the label. It is useful for fields with long labels. Applies to: All fieldsadminOnly bool Determines if this field should only visible on the administration pages. A value of 1 will mark the field as admin only and will hide it from the public form. Useful for fields such as 「status」 that help with managing entries, but don』t apply to users filling out the form. Applies to: All fieldsallowsPrepopulate 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 fieldschoices array Contains the available choices for the field. For instance, drop down items and checkbox items are configured with this property. Applies to: select, checkbox, radio, post_category
123$choices = $field->choices;$choices[0]['text'] = 'Drop down item 1';$field->choices = $choices;
Each choice in the array has the following Properties:text string The text to be displayed to the user when displaying this choice.value string The value to be stored in the database when this choice is selected. Note: This property is only supported by the Drop Down and Post Category fields. Checkboxes and Radio fields will store the text property in the database regardless of the value propertyisSelected bool Determines if this choice should be selected by default when displayed. The value 1 will select the choice, 0 will display it unselected.Conditional Logic array Controls the visibility of the field based on values selected by the user.content string Content of an HTML block field to be displayed on the form Applies to: htmlcssClass string Custom CSS class to be added to the
Post Fields
postCustomFieldName string The name of the Post Custom Field that the submitted value should be assigned to. Applies to: post_custom_fielddisplayAllCategories 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 hierarchically. Applies to: post_categorydisplayCaption bool Controls the visibility of the caption metadata for Post Image fields. 1 will display the caption field, 0 will hide it. Applies to: post_imagedisplayDescription bool Controls the visibility of the description metadata for Post Image fields. 1 will display the description field, 0 will hide it. Applies to: post_imagedisplayTitle bool Controls the visibility of the title metadata for Post Image fields. 1 will display the title field, 0 will hide it. Applies to: post_imageinputType 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
Advanced Fields
Number
numberFormat string Specifies the format allowed for the number field. Applies to: numberPossible values: decimal_dot, decimal_commadecimal_dot: 9,999.99decimal_comma: 9.999,99rangeMin float Minimum allowed value for a number field. Values lower than the number specified by this property will cause the field to fail validation. Applies to: numberrangeMax float Maximum allowed value for a number field. Values higher than the number specified by this property will cause the field to fail validation. Applies to: number
Date
calendarIconType string Determines how the date field displays it』s calendar icon Applies to: datePossible values: calendar, custom, nonecalendar: Displays the standard calendar icon shipped with Gravity Formscustom: Allows administrators to specify a custom iconnone: Disables the calendar iconcalendarIconUrl string Contains the URL to the custom calendar icon. Only applicable when calendarIconType is set to custom Applies to: datedateFormat string Determines how the date is displayed Applies to: datePossible values: mdy, dmymdy: 01/25/2010dmy: 25/01/2010
Phone
phoneFormat string Determines the allowed format for phones. If the phone value does not conform with the specified format, the field will fail validation. Applies to: phonePossible values: standard, internationalstandard: Phone must be in the format: 「(###)### – ####」international: Phone can be in any format
Name and Address
nameFormat string Determines the format of the name field Applies to: namePossible values: normal, extended, simplenormal: Displays first and last name fieldsextended: Displays prefix, first, last and suffix fieldssimple: Displays one name fieldaddressType stringDetermines the type of address to be displayed. Applies to: addressPossible values: international, us, canadianinternational: State input is displayed as a text field and the country drop down is displayedus: State input is displayed as a drop down with US states and the country drop down is hiddencanadian: State input is displayed as a drop down with Canadian provinces and the country drop down is hiddendefaultCountry string Contains the country that will be selected by default. Only applicable when addressType is set to international Applies to: addressdefaultProvince string Contains the province that will be selected by default. Only applicable when addressType is set to canadian Applies to: addressdefaultState string Contains the state that will be selected by default. Only applicable when addressType is set to us Applies to: addresshideAddress2 bool Controls the visibility of the address 2 field. A value of 1 will hide the address 2 field, 0 will display it. Applies to: addresshideCountry Controls the visibility of the country drop down. A value of 1 will hide the country drop down, 0 will display it. Only applicable when addressType is set to international Applies to: addresshideState bool Controls the visibility of the state field. A value of 1 will hide the state field, 0 will display it. Applies to: addressinputs array For fields with multiple inputs (i.e. Name, Address), this property contains a list of inputs. This property also applies to the checkbox field as checkboxes are treated as multi-input fields (since each checkbox item is stored separately). Applies to: name, address, checkbox
1234$inputs = $field->inputs;$inputs[0]['label'] = 'First Name';//sets the label for the first input$field->inputs = $inputs
Each input has the following properties.id float The input id. Input Ids follow the following naming convention: 「FIELDID.INPUTID」 (i.e. 5.1), where FIELDID is the id of the containing field and INPUTID specifies the input field. For example, inputs for the name field are numbered as follows:FIELDID.2 Name Prefix input id (i.e. 4.2)FIELDID.3 First Name input id (i.e. 4.3)FIELDID.6 Last Name input id (i.e. 4.6)FIELDID.8 Name Suffix input id (i.e. 4.8)label string Input labelname string When the field is configured with allowsPrepopulate set to 1, this property contains the parameter name to be used to populate this field (equivalent to the inputName property of single-input fields)
File Upload
allowedExtensions string Contains a comma delimited list of file extensions that are allowed to be uploaded. (i.e. jpg,gif,png) Applies to: fileupload, post_image
CAPTCHA
captchaType string Determines the type of CAPTCHA field to be used Possible values: recaptcha, simple_captcha, mathNOTE: simple_captcha and math CAPTCHA fields are only available when the 「Really Simple CAPTCHA」 plugin is installedcaptchaTheme string Determines the theme to be used for the reCAPTCHA field. Only applicable to the recaptcha captcha type. Possible values: red, white, blackglass, cleansimpleCaptchaSize string Determines the CAPTCHA image size. Only applicable to simple_captcha and math captcha types. Possible values: small, medium, largesimpleCaptchaFontColor Determines the image』s font color, in HEX format (i.e. #CCCCCC). Only applicable to simple_captcha and math captcha types.simpleCaptchaBackgroundColor string Determines the image』s background color, in HEX format (i.e. #CCCCCC). Only applicable to simple_captcha and math captcha types.
Other
enablePasswordInput bool Determines if a text field input tag should be created with a 『password』 type Applies to: textmaxLength integer Specifies the maximum number of characters allowed in a text or paragraph field.enableEnhancedUI bool When set to true, the Chosen jQuery script will be applied to this field, enabling search capabilities to Drop Down fields and a more user-friendly interface for Multi Select fields. Applies to: select, multiselect
Pricing Fields
basePrice float Base price for a single product field. Applies to: singleproductdisableQuantity bool Specifies if the quantity field on single product fields should be displayed or hidden. Applies to: singleproductproductField integer Available only on Option fields. Specifies which product field the current option field is linked to. Applies to: optionenablePrice bool Specifies if a price can be entered for each field choice. This option is automatically turned ON for pricing fields when using Drop Down, Radio Button or Checkbox input types. Applies to: checkbox, select, radio
Add-On Fields
See the following pages for details about fields added by add-ons:
CouponDropbox Upload
Field JSON
This example shows how a field object would look when formatted as JSON for use by the Gravity Forms CLI Add-On.
12345678910111213141516{ "type": "select", "label": "My Dropdown", "choices": [{ "text": "Choice 1", "value": "one" }, { "text": "Choice 2", "value": "two" }], "id": "2", "visibility": "visible", "formId": "14", "pageNumber": 1, "isRequired": false}