Property Description Values
*allow-script Embedded JavaScript tags are automatically disabled in all form fields by default to prevent script injection. Use this property to allow script tags. true (should not be used on public sites!)
*anchor Can be used to assign the link text for fields of type link. Link text.
*autolabel User to disable automatic label generation for a specific field when autolabel=true. See mailform help. false
*balloon Can be used to show an icon with popup text after a field. The text to be shown.
*balloon-visible Can be used to force a balloon to be visible even if the user has not interacted with the balloon control. Set to true to show by default.
*balloon-pos Used to position the balloon text. up, down, left, right.
*balloon-length Used to set the maximum length of the balloon popup. small, medium, large or fit. Defaults to medium.
*balloon-icon Used to change the character which indicates the presence of balloon text. HTML Entity
*based-on Used to define a field based on a definition created using the html_field_type model. The field type must be defined in the current site, an inherited site or in system.
*case Automatically change the case of the entered field values during the blur event. upperlowermixed (for Title Case)
*color Used to set the color on buttons. This automatically styles the button. black, blue, green, grey, red, white
*content Can be used to add content to a progress or meter control for browsers that don't support these controls.  
*copy-from-session Can be used to prevent a form value to be copied from the like-named session variable. false
*disable-upload Can be added to fields of type wysiwyg in order to disable the upload feature of the editor. true
*dollar-function By default, dollar function references are disabled in all field fields in order to prevent code injection. This property can be used to enable these for certain fields. true (should not be used on public sites!)
*extends Used to define a field based on another field definition created using the html_field model. The field definition must be defined in the current site, an inherited site or in system.
*flexgrid Can be used to override the class name used by a flexgrid field. css class.
*handler Used to configure fields defined as type custom. Must return actual implementation type from the pre_generate method. Must refer to a class that is defined within the folder classes/custom_field. generate method can be used to generate the implementation or it can default to resolved type implementation.
*helproutine Links a popup help page to the field. The popup help is used to automatically populate the field using a value selected by the user. This automatically adds a search icon next to the field which the user can click to launch help. Learn More. The helproutine must coincide with a valid page identifier.
*help-parms Used to pass information to a helproutine and instruct the helproutine to pass information back. This field is formatted using a combination of keywords and values separated by slashes. The keywords are. in, out, in-out, inherit and other. Follow this link to learn more.
*help-width Used to supply a width to be used as the width of the popup window which renders the helproutine. Width in pixels.
*help-height Used to supply a height to be used as the height of the popup window which renders the helproutine. Height in pixels.
*html Should be set to true for controls of type editor that are used to enter html syntax. true
*image-subfolder Used in conjunction with wysiwyg *save-images property. Can supply a subfolder (under images) where generated images are to be saved.
*imageid Used to define the image for fields of type image. The tiny version of this image will be used on mobile devices. The xs version of this image will be used on desktop devices.
*imageid-hover Can be used to automatically change the image associated with an image field when the user hovers over the image. Any valid image id in the current site or inherited site.
*index When the same field name is added to a form more than once, the system automatically processes the field control as an array. The *index property can be retrieved to identify the index of a particular field control. Starts at zero.
*keep-nbsp By default non-breaking spaces are converted to normal spaces in all text fields. Set this field to true to preserve non-breaking spaces. Set to true of false.
*label Used to assign the default prompt for the field. Also used as button text and link anchor text. Label value.
*label-mobile This can be used to override the default prompt for the field when rendered on phone devices. Mobile label value.
*linenumbers Used by controls of type editor to enable line numbers. Set to true or false.
*linewrapping Used by controls of type editor to enable line wrapping. Set to true or false.
*label-suffix Change the default label suffix from ": " when autolabel is enabled. Alternate suffix of false to disable suffix.
*label-skip-empty Don't generate an autolabel for fields that don't have a value. true
*local-validation Used to designate code that will be executed locally at the point the form is submitted. Value should be the name of a JavaScript function. Function is passed the current control as the first parameter. Additional parameters can be supplied if required.
*message Can be used to add a message after a field. Message text.
*mode Model setting to be used by fields of type editor. Must be a valid codemirror mode stored in public_html/system/support/codemirror/mode
*null Used to indicate whether the field supports a null-toggle checkbox. Allows the user to enter a null value into a field. Assign true to present a null option for the field.
*null-label Used to override the label used for the null indicator. Defaults to Null.
*open Used in conjunction with the *summary property. By default details are opened if a flexgrid contains rows. This can change the default. User true if details are to be opened by default. Use false if details are to be closed by default.
*prefix Can be used to supply a value to be rendered before (to the left of) the field. Prefix text.
*prototype Used to automatically render a prototype (script) definition on the page. Prototypes are generally used to transform or validate user input. If the prototype value includes an open bracket, the system will automatically call the prototype function in the onblur event. Prototype code must be defined in public_html/system/support/prototype/[name].js
*qsinit Used to prevent a form field from being passed an initial value via the querystring. By default, any form field can be pre-populated by passing a value for the field in the querystring. This parameter can be used to disable this feature. Set to false to disable.
*radio-value Used to assign a value to an instance of a radio button control. Radio button value.
*repeats When the same control (field name) is used on different nested forms, the system needs to be informed that the field is an array. Use the *repeats property on the first instance of the field to do so. Should be set to true.
*required-field-indicator Can be used to change or remove the character that follows fields that are set as required. Default required field indicator can be set using site or page config for Model form *required-field-indicator.
*save-images Can be assigned to a wysiwyg control to requested that embedded (data:image) images be saved as external images. Set to true to save images.
*script-file Used to automatically add a script file to the page whenever this field is used on a form. The name of a javascript file, for example, my-script.js
*script-location Used with *script-file to define the whereabouts of the script file. Defaults to FRAMEWORK so script will be loaded from the system folder. Use SITE to load from the current site. Could also reference a URL.
*script-placement Used with *script-file to specify where the script should be placed. Defaults to head. Could also be head-top, top or bottom.
*script-synchronization Used with *script-file to specify the concurrency of the script. Defaults to inline. Could also be wait wait or async.
*select Used by controls of type select to specify the select class that is to supply the selection values. Any class generated by the select model or the select_db_column_values model.
*site Can be used by fields that use the *select or list properties to designate a site directory from which the select class should be loaded. The name of the site directory where the select class was generated.
*size-mobile This property overrides the size property if the page is being executed on a phone device.  
*skip-colon Automatically generated labels are normally appended with a colon (:). Use this property to eliminate the colon. Should be set to false.
*suffix Used to add content after (to the right of) the field. Can be any content you want to add after the field control.
*suffix-mobile Used to override the *suffix property for mobile devices. Usually this is an abbreviated version of the desktop suffix.
*summary Can be used on flexgrid fields to place the grid within a details tab. By default, the flexgrid will be shown if it contains rows. See *open property. Assign the value to be shown as a summary description of the flexgrid control.
*theme Theme used by the editor control. Any valid theme stored in public_html/system/styles/codemirror/theme
*translation-class Used to specify a translation class to be used to translate the label for a specific field. Any class generated using the translation model.
*trim Used to automatically trim the user user input in the blur event of the field. l for left trim, r for right trim and * for both.
*unique Can be used in situations where the default id generated for a control is not unique. This value will be added to the generate id to force it to be unique.  
*upload-directory Indicates the directory to be used to store uploaded files. Defaults to uploads (which will be placed under the site's private_data path).
*upload-error If a file field failed to upload, this will contain the failure code. This property cannot be assigned but can be used within the post method.
*upload-filename Can be used to designate a file name to be assigned to the saved uploaded file.  
*upload-file-size Contains the size of an uploaded file. This property cannot be assigned but can be used within the post method.
*upload-file-type This is the mime type of the uploaded file. This property cannot be assigned.
*upload-max-file-size Can be used to override the default max-file-size for a particular upload file.  
*upload-new-file-name This contains the full name of a file after it was uploaded and moved to its permanent location. Note that files are not actually saved until after the post method. Therefore this field is not available during post method processing. To process the saved file, either use the final method set an *upload-after-method or request a callback after the uploads have occurred (after sequence 5000).
*upload-original-name Contains the original file name that was uploaded for a field of type file. This property cannot be assigned but can be used within the post method.
*upload-replace Indicates whether an uploaded file should be allowed to replace an existing file. Defaults to false, set to true if replacement is allowed.
*upload-subdirectory Used to specify the subdirectory where uploaded files are to be stored. This is added on to the directory established by *upload-directory.  
*upload-temp-name Contains the name of the temporary file used during file upload processing. This property cannot be assigned.
*zero Indicates whether empty number fields should be shown with a zero (0) value. Set to true to show zero if empty.
Sample form definition
🡇
Sample rendered form