HEX
Server: Apache/2.2.15 (CentOS)
System: Linux ip-10-0-2-146.eu-west-1.compute.internal 2.6.32-754.35.1.el6.centos.plus.x86_64 #1 SMP Sat Nov 7 11:33:42 UTC 2020 x86_64
User: root (0)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: /www/sites/www.credebtexchange.com/htdocs/wp-content/calculated-fields-form/js/schema.min.json
{"$schema":"http://json-schema.org/draft-07/schema#","title":"Form Structure Schema","description":"A form represented as an array with exactly two items. The first item is an array of field objects, and the second item is an array containing a single object for general form settings.","type":"array","minItems":2,"maxItems":2,"items":[{"type":"array","title":"Form Fields","description":"An array of form field objects. Each field must be one of the available types defined in the schema definitions.","items":{"anyOf":[{"$ref":"#/definitions/ftext"},{"$ref":"#/definitions/fcurrency"},{"$ref":"#/definitions/fnumber"},{"$ref":"#/definitions/fslider"},{"$ref":"#/definitions/fcolor"},{"$ref":"#/definitions/femail"},{"$ref":"#/definitions/fdate"},{"$ref":"#/definitions/ftextarea"},{"$ref":"#/definitions/fcheck"},{"$ref":"#/definitions/fradio"},{"$ref":"#/definitions/fdropdown"},{"$ref":"#/definitions/ffile"},{"$ref":"#/definitions/fpassword"},{"$ref":"#/definitions/fPhone"},{"$ref":"#/definitions/fCommentArea"},{"$ref":"#/definitions/fhidden"},{"$ref":"#/definitions/fSectionBreak"},{"$ref":"#/definitions/fPageBreak"},{"$ref":"#/definitions/fsummary"},{"$ref":"#/definitions/ffieldset"},{"$ref":"#/definitions/fdiv"},{"$ref":"#/definitions/fpopup"},{"$ref":"#/definitions/fMedia"},{"$ref":"#/definitions/frecordav"},{"$ref":"#/definitions/fButton"},{"$ref":"#/definitions/fhtml"},{"$ref":"#/definitions/facceptance"},{"$ref":"#/definitions/fqrcode"},{"$ref":"#/definitions/fCalculated"}]}},{"type":"array","title":"General Form Settings","description":"An array with exactly one object containing the general settings of the form.","minItems":1,"maxItems":1,"items":{"type":"object","title":"Form Settings","properties":{"title":{"description":"The title of the form. This text will be displayed prominently at the top of the form to provide a clear, human-readable heading that identifies the form's purpose.","type":"string","example":"Contact form"},"description":{"description":"The form subtitle or descriptive text displayed below the form title. This text provides additional context or instructions that help users understand the purpose of the form.","type":"string","example":"Basic contact form, simply enter your name, email, and describe the subject."},"formlayout":{"description":"Specifies the default alignment of field labels (their 'title' properties) relative to their associated input controls. Use 'top_aligned' to display labels above the input, 'left_aligned' for labels on the left, or 'right_aligned' for labels on the right.","type":"string","enum":["top_aligned","left_aligned","right_aligned"],"default":"top_aligned"},"formtemplate":{"description":"Specifies the design template to use for the form. The selected template determines the visual appearance of the form, including field styling, form colors, font choices, and other aesthetic attributes.","type":"string","enum":["cp_cff_letter","cp_cff_professional","cp_cff_natural","cp_cff_elegant","cp_cff_decorative","cp_cff_clean","cp_cff_minimalist","cp_cff_dark_notebook","cp_cff_box","cp_cff_pastel","cp_cff_11","cp_cff_12","cp_cff_13","cp_cff_14"],"default":"cp_cff_13"},"request_cost":{"description":"Specifies the field name (corresponding to the 'name' attribute) that holds the calculated final cost in forms used for cost or price calculations. The value must follow the pattern 'fieldname' followed by a positive integer (e.g., 'fieldname5'), and there must be a field in the form with this name.","type":"string","pattern":"^fieldname[1-9][0-9]*$","example":"fieldname5"},"evalequations":{"description":"Specifies how the calculated field equations (the code in the 'eq' attributes of fields with 'ftype' set to 'fCalculated') are evaluated. When set to 1, the equations are automatically re-evaluated each time any operand field fires an 'onchange' or 'onkeyup' event. When set to 0, the equations are only evaluated when the user manually triggers the calculation, for example, by pressing a button with 'ftype' set to 'fButton' and 'sType' set to 'calculate'.","type":"integer","enum":[0,1],"default":1},"customstyles":{"description":"Specifies custom CSS class definitions to be used with the 'csslayout' properties of form fields. The provided CSS rules should include '!important' in each declaration to ensure they override any conflicting styles from the page or default form settings.","type":"string","example":".email-field label { font-weight: bold !important; }\n.email-field input { border: 0 !important; color: green !important; }"},"evalequationsevent":{"description":"Specifies which events on operand fields trigger the evaluation of calculated field equations (the 'eq' code in fields with 'ftype' set to 'fCalculated'). When set to 1, the equations are evaluated only when an operand field fires an 'onchange' event. When set to 2, the equations are evaluated when an operand field fires either an 'onchange' or an 'onkeyup' event.","type":"integer","enum":[1,2],"default":2}},"required":["formlayout","evalequations","formtemplate","evalequationsevent"],"additionalProperties":true}}],"definitions":{"ftext":{"description":"A single-line text input field used in forms to capture short user-provided data.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"ftext"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"autocomplete":{"description":"Specifies whether and how the browser should automatically fill this form field with previously stored user data. The value corresponds to HTML5 autocomplete attribute values. When set to 'off', autocomplete is disabled. When set to 'on', the browser can automatically complete the field with any relevant saved data. Other values specify exact types of information to auto-fill (e.g., 'name', 'email', 'address-line1', 'cc-number', etc.). This helps improve form usability while respecting user preferences for data completion.","type":"string","enum":["off","on","name","honorific-prefix","given-name","additional-name","family-name","honorific-suffix","nickname","email","username","new-password","current-password","one-time-code","organization-title","organization","street-address","address-line1","address-line2","address-line3","address-level4","address-level3","address-level2","address-level1","country","country-name","postal-code","cc-name","cc-given-name","cc-additional-name","cc-family-name","cc-number","cc-exp","cc-exp-month","cc-exp-year","cc-csc","cc-type","transaction-currency","transaction-amount","language","bday","bday-day","bday-month","bday-year","sex","tel","tel-country-code","tel-national","tel-area-code","tel-local","tel-extension","impp","url","photo"],"default":"off"},"predefined":{"description":"Specifies the initial value that will be pre-populated in the form field when the form loads. This default value appears before any user interaction and can be overwritten by user input. If left as an empty string, the field will be initially blank. The predefined value serves as both a starting point for user input and can function as a placeholder or example of expected data format.","type":"string","default":""},"predefinedClick":{"description":"Controls how the 'predefined' property value is interpreted and displayed in the form field. If set to true, the 'predefined' value will be shown as a placeholder (disappears when field is clicked/focused). If set to false (default), the 'predefined' value will be treated as the actual initial value of the field (remains when field is clicked/focused).","type":"boolean","default":false},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"accept_html":{"description":"Determines whether the field accepts HTML tags in its value. If set to true, the field will accept HTML tags. If set to false (default), the server will remove all HTML tags from the submitted field value. Regardless of this setting, the field value will always be sanitized to eliminate any potential XSS vulnerabilities.","type":"boolean","default":false},"readonly":{"description":"Determines whether the field is read-only. If set to true, the field is non-editable and cannot be modified by the user. If set to false (default), the field is editable.","type":"boolean","default":false},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"},"minlength":{"description":"Specifies the minimum number of characters required for the field value. If the entered value is shorter than this minimum, the validation will fail and the form will not be submitted.","type":"integer","default":0},"maxlength":{"description":"Specifies the maximum number of characters accepted for the field value. If the entered value is larger than this maximum, the validation will fail and the form will not be submitted.","type":"integer"},"equalTo":{"description":"Specifies the name of another field in the form that the current field must match for validation. If the value of this field does not equal the value of the specified field, the validation will fail and the form cannot be submitted.","type":"string","default":""},"regExp":{"description":"Specifies a regular expression used to validate the field value. If the field value does not match the specified regular expression, validation fails and the form cannot be submitted.","type":"string","default":"","example":"/\\S+/"},"regExpMssg":{"description":"Error message to display if the field value does not match the regular expression entered in the 'regExp' property.","type":"string","default":""}},"required":["name","ftype","title"],"additionalProperties":true},"fcurrency":{"description":"A single-line text field used in forms to capture user-provided currency values.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fcurrency"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"predefined":{"description":"Specifies the initial value that will be pre-populated in the form field when the form loads. This default value appears before any user interaction and can be overwritten by user input. If left as an empty string, the field will be initially blank. The predefined value serves as both a starting point for user input and can function as a placeholder or example of expected data format.","type":"string","default":""},"predefinedClick":{"description":"Controls how the 'predefined' property value is interpreted and displayed in the form field. If set to true, the 'predefined' value will be shown as a placeholder (disappears when field is clicked/focused). If set to false (default), the 'predefined' value will be treated as the actual initial value of the field (remains when field is clicked/focused).","type":"boolean","default":false},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"readonly":{"description":"Determines whether the field is read-only. If set to true, the field is non-editable and cannot be modified by the user. If set to false (default), the field is editable.","type":"boolean","default":false},"numberpad":{"description":"Determines whether a numeric keypad is displayed on mobile devices when entering the field value. If set to true, the mobile device will display a numberpad keyboard when the field is focused. If set to false (default), the full keyboard will be available.","type":"boolean","default":false},"spinner":{"description":"Determines whether spinner buttons are enabled on both sides of the input component. If set to true, these buttons will appear, allowing the user to increase or decrease the field value by clicking them. If set to false (default), the spinner buttons are hidden, and the user must enter the field value manually.","type":"boolean","default":false},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"},"currencySymbol":{"description":"Currency symbol to display in front of the currency value entered by the user.","type":"string","default":"","example":"$"},"currencyText":{"description":"Currency code to display at the end of the currency value entered by the user.","type":"string","default":"","example":"USD"},"thousandSeparator":{"description":"Defines the symbol used to divide digits into groups of thousands in numeric field values. For example, if set to ',', the number 1000000 will be displayed as '1,000,000'.","type":"string","default":"","example":","},"centSeparator":{"description":"Specifies the symbol that separates the integer part from the decimal fraction in currency field values. For example, if set to '.', a value like 123.45 will be correctly formatted.","type":"string","default":".","example":"."},"noCents":{"description":"Controls whether the cents (the decimal portion of currency values) are omitted during automatic formatting. When set to true, only the whole number (integer part) is displayed; when set to false (default), the full value, including cents, is retained.","type":"boolean","default":false},"min":{"description":"Specifies the minimum number accepted for the field value. If the entered value is less than this minimum, validation will fail and the form will not be submitted.","type":"number"},"max":{"description":"Specifies the maximum accepted value for the field. If the entered value exceeds this maximum, validation fails and the form will not be submitted. By default, no maximum restriction is applied.","type":"number"},"step":{"description":"Specifies the increment step to apply when the field value is increased or decreased using the spinner buttons.","type":"number"},"formatDynamically":{"description":"Determines whether the field value is dynamically formatted as the user enters it. When enabled, the field value will automatically include the currency symbol at the beginning, the currency code at the end, group digits into thousands, apply the 'centSeparator' symbol, and remove decimals if 'noCents' is set to true.","type":"boolean","default":false},"twoDecimals":{"description":"Indicates whether the field value should be formatted with two decimal places when dynamic formatting is enabled (i.e., when 'formatDynamically' is true).","type":"boolean","default":false}},"required":["name","ftype","title"],"additionalProperties":true},"fnumber":{"description":"A single-line text or number field used in forms to capture user-provided numeric values.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fnumber"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"predefined":{"description":"Specifies the initial value that will be pre-populated in the form field when the form loads. This default value appears before any user interaction and can be overwritten by user input. If left as an empty string, the field will be initially blank. The predefined value serves as both a starting point for user input and can function as a placeholder or example of expected data format.","type":"string","default":""},"predefinedClick":{"description":"Controls how the 'predefined' property value is interpreted and displayed in the form field. If set to true, the 'predefined' value will be shown as a placeholder (disappears when field is clicked/focused). If set to false (default), the 'predefined' value will be treated as the actual initial value of the field (remains when field is clicked/focused).","type":"boolean","default":false},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"readonly":{"description":"Determines whether the field is read-only. If set to true, the field is non-editable and cannot be modified by the user. If set to false (default), the field is editable.","type":"boolean","default":false},"numberpad":{"description":"Determines whether a numeric keypad is displayed on mobile devices when entering the field value. If set to true, the mobile device will display a numberpad keyboard when the field is focused. If set to false (default), the full keyboard will be available.","type":"boolean","default":false},"spinner":{"description":"Determines whether spinner buttons are enabled on both sides of the input component. If set to true, these buttons will appear, allowing the user to increase or decrease the field value by clicking them. If set to false (default), the spinner buttons are hidden, and the user must enter the field value manually.","type":"boolean","default":false},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"},"prefix":{"description":"Specifies the symbol to display before field values when the 'dformat' property is set to 'number'. This is typically used for things like currency symbols (e.g., '$').","type":"string","default":""},"postfix":{"description":"Specifies the symbol or text to append to field values when the 'dformat' property is set to 'number'. This is typically used for unit measurement indicators (e.g., 'Kg') that appear after the numeric value.","type":"string","default":""},"thousandSeparator":{"description":"Defines the symbol used to divide digits into groups of thousands in numeric field values. For example, if set to ',', the number 1000000 will be displayed as '1,000,000'.","type":"string","default":"","example":","},"decimalSymbol":{"description":"Specifies the symbol that separates the integer part from the decimal fraction in numeric field values. For example, if set to '.', a value like 123.45 will be correctly formatted.","type":"string","default":".","example":"."},"min":{"description":"Specifies the minimum number accepted for the field value. If the entered value is less than this minimum, validation will fail and the form will not be submitted.","type":"number"},"max":{"description":"Specifies the maximum accepted value for the field. If the entered value exceeds this maximum, validation fails and the form will not be submitted. By default, no maximum restriction is applied.","type":"number"},"step":{"description":"Specifies the increment step to apply when the field value is increased or decreased using the spinner buttons.","type":"number"},"formatDynamically":{"description":"Determines whether the field value is dynamically formatted as the user enters it. When enabled, any defined prefix symbols will automatically appear at the beginning, any postfix symbols at the end, digits will be grouped into thousands, and the specified decimal symbol will be applied.","type":"boolean","default":false},"twoDecimals":{"description":"Indicates whether the field value should be formatted with two decimal places when dynamic formatting is enabled (i.e., when 'formatDynamically' is true).","type":"boolean","default":false},"dformat":{"description":"Specifies the display format for numeric values. Options: 'digits' (raw numbers without formatting), 'number' (formatted with symbols and thousand separators), or 'percent' (percentage values with % symbol). Note: The 'fCalculated' fields' 'eq' property always accesses the raw decimal value regardless of display format. For example, '$1,234.56' is accessed as 1234.56, and '7.5%' is accessed as 0.075.","enum":["digits","number","percent"],"default":"digits"}},"required":["name","ftype","dformat","title"],"additionalProperties":true},"fslider":{"description":"A slider control that allows users to select a numeric value within a specified range (e.g., 0 to 100), with discrete steps if defined.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fslider"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"readonly":{"description":"Determines whether the field is read-only. If set to true, the field is non-editable and cannot be modified by the user. If set to false (default), the field is editable.","type":"boolean","default":false},"predefined":{"description":"Specifies the initial value that will be pre-populated in the form field when the form loads. This default value appears before any user interaction and can be overwritten by user input. If left as an empty string, the field will be initially blank. The predefined value serves as both a starting point for user input and can function as a placeholder or example of expected data format.","type":"string","default":""},"predefinedMin":{"description":"Specifies the initial minimum value for a slider configured as a range (i.e., when the 'range' property is true). This value is displayed on the slider's left side before any user interaction and can be updated by the user.","type":"string","default":""},"predefinedMax":{"description":"Specifies the initial maximum value for a slider configured as a range (i.e., when the 'range' property is true). This value is displayed on the slider's right side before any user interaction and can be updated by the user.","type":"string","default":""},"predefinedClick":{"description":"Controls how the 'predefined' property value is interpreted and displayed in the form field. If set to true, the 'predefined' value will be shown as a placeholder (disappears when field is clicked/focused). If set to false (default), the 'predefined' value will be treated as the actual initial value of the field (remains when field is clicked/focused).","type":"boolean","default":false},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"},"thousandSeparator":{"description":"Defines the symbol used to divide digits into groups of thousands in numeric field values. For example, if set to ',', the number 1000000 will be displayed as '1,000,000'.","type":"string","default":"","example":","},"centSeparator":{"description":"Specifies the symbol that separates the integer part from the decimal fraction in currency field values. For example, if set to '.', a value like 123.45 will be correctly formatted.","type":"string","default":".","example":"."},"typeValues":{"description":"This boolean flag controls whether the field includes input boxes for manual value entry in addition to the slider control. When set to true, the field will display input boxes alongside the slider. If the associated 'range' property is true, two input boxes will be shown (one for the minimum value and one for the maximum value). If 'range' is false, a single input box will be provided. When set to false (the default), only the slider control will be displayed without any input boxes.","type":"boolean","default":false},"min":{"description":"Specifies the minimum value of the slider (displayed at its left end). If the entered value is less than this minimum, validation fails and the form will not be submitted.","type":"number"},"max":{"description":"Specifies the maximum value of the slider (shown at its right end). If the entered value exceeds this maximum, validation fails and the form will not be submitted.","type":"number"},"step":{"description":"Specifies the increment step to apply when the slider handle is moved to increase or decrease the field value. It applies only when the 'logarithmic' property is set to false.","type":"number"},"marks":{"description":"This boolean flag controls whether visual marker symbols appear below the slider track to guide the user. When set to true, these markers are displayed. When set to false (the default), the markers remain hidden.","type":"boolean","default":false},"divisions":{"description":"Specifies the number of evenly-spaced tick marks to display along the slider track when 'marks' is set to true. These divisions create visual reference points that help users select specific values. For example, with divisions=5, the slider would show marks at 0%, 25%, 50%, 75%, and 100% positions.","type":"integer","default":5},"range":{"description":"Controls whether the slider has one or two handles. When true, creates a range slider with two handles (minimum and maximum values). When false, creates a standard slider with a single handle. The range slider allows users to select a span of values, while the standard slider selects a single value.","type":"boolean","default":false},"logarithmic":{"description":"Determines the scale type used for distributing values along the slider. When true, uses a logarithmic scale where values grow exponentially (useful for ranges spanning multiple orders of magnitude, like volume controls or financial data). When false, uses a linear scale where values increase at a constant rate. Logarithmic scaling makes small values more precisely selectable while allowing a wide total range.","type":"boolean","default":false},"caption":{"description":"Text displayed below the slider track that can dynamically show the current value(s). Use '{0}' as a placeholder that will be replaced with the actual value. For standard sliders, include one '{0}' placeholder (e.g., 'Value: {0}'). For range sliders (when 'range' is true), include two '{0}' placeholders to show both min and max values (e.g., 'Range: {0} to {0}' or '{0} - {0}'). The caption updates automatically as the slider position changes.","type":"string","default":"{0}","example":"Selected value: {0}"},"minCaption":{"description":"Text displayed below the left edge of the slider track, indicating the minimum possible value. Use '{0}' as a placeholder to dynamically show the 'min' property value (e.g., 'Min: {0}'). This caption remains fixed regardless of slider position and helps users understand the value range. Often used in conjunction with 'maxCaption' to display the full range bounds.","type":"string","default":""},"maxCaption":{"description":"Text displayed below the right edge of the slider track, indicating the maximum possible value. Use '{0}' as a placeholder to dynamically show the 'max' property value (e.g., 'Max: {0}'). This caption remains fixed regardless of slider position and helps users understand the value range. Often used in conjunction with 'minCaption' to display the full range bounds.","type":"string","default":""}},"required":["name","ftype","min","max","step","range","title"],"additionalProperties":true},"fcolor":{"description":"Color picker control to allow users to select or enter a color in hexadecimal format (e.g., '#000000')","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fcolor"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"predefined":{"description":"Specifies the initial value that will be pre-populated in the form field when the form loads. This default value appears before any user interaction and can be overwritten by user input. If left as an empty string, the field will be initially blank. The predefined value serves as both a starting point for user input and can function as a placeholder or example of expected data format.","type":"string","default":""},"predefinedClick":{"description":"Controls how the 'predefined' property value is interpreted and displayed in the form field. If set to true, the 'predefined' value will be shown as a placeholder (disappears when field is clicked/focused). If set to false (default), the 'predefined' value will be treated as the actual initial value of the field (remains when field is clicked/focused).","type":"boolean","default":false},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"readonly":{"description":"Determines whether the field is read-only. If set to true, the field is non-editable and cannot be modified by the user. If set to false (default), the field is editable.","type":"boolean","default":false},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"}},"required":["name","ftype","title"],"additionalProperties":true},"femail":{"description":"A single-line email control to allow users to enter an email address (e.g., 'johndoe@email.com')","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"femail"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"autocomplete":{"description":"Specifies whether and how the browser should automatically fill this form field with previously stored user data. The value corresponds to HTML5 autocomplete attribute values. When set to 'off', autocomplete is disabled. When set to 'on', the browser can automatically complete the field with any relevant saved data. Other values specify exact types of information to auto-fill (e.g., 'name', 'email', 'address-line1', 'cc-number', etc.). This helps improve form usability while respecting user preferences for data completion.","type":"string","enum":["off","on","name","honorific-prefix","given-name","additional-name","family-name","honorific-suffix","nickname","email","username","new-password","current-password","one-time-code","organization-title","organization","street-address","address-line1","address-line2","address-line3","address-level4","address-level3","address-level2","address-level1","country","country-name","postal-code","cc-name","cc-given-name","cc-additional-name","cc-family-name","cc-number","cc-exp","cc-exp-month","cc-exp-year","cc-csc","cc-type","transaction-currency","transaction-amount","language","bday","bday-day","bday-month","bday-year","sex","tel","tel-country-code","tel-national","tel-area-code","tel-local","tel-extension","impp","url","photo"],"default":"off"},"predefined":{"description":"Specifies the initial value that will be pre-populated in the form field when the form loads. This default value appears before any user interaction and can be overwritten by user input. If left as an empty string, the field will be initially blank. The predefined value serves as both a starting point for user input and can function as a placeholder or example of expected data format.","type":"string","default":""},"predefinedClick":{"description":"Controls how the 'predefined' property value is interpreted and displayed in the form field. If set to true, the 'predefined' value will be shown as a placeholder (disappears when field is clicked/focused). If set to false (default), the 'predefined' value will be treated as the actual initial value of the field (remains when field is clicked/focused).","type":"boolean","default":false},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"readonly":{"description":"Determines whether the field is read-only. If set to true, the field is non-editable and cannot be modified by the user. If set to false (default), the field is editable.","type":"boolean","default":false},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"},"equalTo":{"description":"Specifies the name of another field in the form that the current field must match for validation. If the value of this field does not equal the value of the specified field, the validation will fail and the form cannot be submitted.","type":"string","default":""},"regExp":{"description":"Specifies a regular expression used to validate the field value. If the field value does not match the specified regular expression, validation fails and the form cannot be submitted.","type":"string","default":"","example":"/\\S+/"},"regExpMssg":{"description":"Error message to display if the field value does not match the regular expression entered in the 'regExp' property.","type":"string","default":""}},"required":["name","ftype","title"],"additionalProperties":true},"fdate":{"description":"A control that includes a datepicker and optional time input components. Depending on configuration, it can display only a datepicker, only time components, or both.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fdate"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"predefined":{"description":"Specifies the initial value that will be pre-populated in the form field when the form loads. This default value appears before any user interaction and can be overwritten by user input. If left as an empty string, the field will be initially blank. The predefined value serves as both a starting point for user input and can function as a placeholder or example of expected data format.","type":"string","default":""},"predefinedClick":{"description":"Controls how the 'predefined' property value is interpreted and displayed in the form field. If set to true, the 'predefined' value will be shown as a placeholder (disappears when field is clicked/focused). If set to false (default), the 'predefined' value will be treated as the actual initial value of the field (remains when field is clicked/focused).","type":"boolean","default":false},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"readonly":{"description":"Determines whether the field is read-only. If set to true, the field is non-editable and cannot be modified by the user. If set to false (default), the field is editable.","type":"boolean","default":false},"disableKeyboardOnMobile":{"description":"Controls whether mobile users can manually type dates or must use only the date picker. When true, the keyboard input is disabled on mobile devices, forcing users to select dates exclusively through the visual date picker interface. When false (default), mobile users can either type dates directly or use the date picker. This option can help prevent input errors on touch devices while maintaining accessibility options.","type":"boolean","default":false},"dformat":{"description":"Specifies the display and input format for dates in the date picker component. Controls how dates are shown to users and how they should enter dates when typing. The format patterns use 'mm' for month, 'dd' for day, and 'yyyy' for year. For example, December 31, 2023 would appear as '12/31/2023' with 'mm/dd/yyyy' format or '31/12/2023' with 'dd/mm/yyyy' format. Consider regional preferences when selecting a format.","type":"string","enum":["mm/dd/yyyy","dd/mm/yyyy","yyyy/mm/dd","yyyy/dd/mm"],"default":"mm/dd/yyyy"},"showFormatOnLabel":{"description":"This boolean property determines whether the date format is appended to the main field label as a user reference. When set to true (or the numeric value 1, which is the default), the date format will be displayed alongside the label; when set to false, it will be omitted.","type":"boolean","default":true},"dseparator":{"description":"This string property specifies the character used to separate the individual components of a date (e.g., day, month, year) in the displayed format. Valid options are '/', '-', and '.', with '/' as the default.","type":"string","enum":["/","-","."],"default":"/"},"tformat":{"description":"This integer property sets the time display format: use 24 for a 24-hour clock (default) or 12 for a 12-hour clock. When set to 12, an 'am/pm' control is included if the time component is enabled.","type":"integer","enum":[12,24],"default":24},"showDropdown":{"description":"This boolean property determines whether a year dropdown list is included in the datepicker. When set to true, the dropdown provides an easy way for users to select dates from different years. When set to false (default), the dropdown is disabled.","type":"boolean","default":false},"dropdownRange":{"description":"This string property defines the range of years displayed in the year dropdown when 'showDropdown' is enabled. The range can be expressed using relative numbers (e.g., '-10:+10' to show 10 years before and after the current year), absolute numbers (e.g., '2000:2020' for a fixed range), or a combination (e.g., '2000:+10' or '-10:2020'). The default '-10:+10' means the dropdown will display years from 10 years before to 10 years after the current year.","type":"string","default":"-10:+10"},"minDate":{"description":"This string property sets the minimum acceptable date for the field, ensuring that users cannot select or enter a date earlier than this limit. If a user inputs a date that is less than the specified minimum, the validation will fail and form submission will be blocked. The 'minDate' value can be provided in several formats: \n\n• **Empty String:** No minimum date restriction.\n• **Fixed Date:** A specific date that follows the same format as defined in the 'dformat' property.\n• **Field Reference:** The name of another date field (for example, 'fieldname1') to enforce that the current date is on or after that field's value.\n• **Numeric Offset:** A number representing the number of days relative to today (e.g., '2' indicates two days from today, while '-1' means yesterday).\n• **Relative Date String:** A smart text format combining numeric values and period identifiers, where valid periods include 'y' (years), 'm' (months), 'w' (weeks), and 'd' (days). For instance, '+1m +7d' represents a date one month and seven days from today.","type":"string","default":""},"maxDate":{"description":"This string property sets the maximum allowed date for the field, ensuring that users cannot select or enter a date later than this limit. If a user inputs a date that exceeds the specified maximum, the validation will fail and the form cannot be submitted. The 'maxDate' property accepts several formats:\n\n• **Empty String:** No maximum date restriction.\n• **Fixed Date:** A specific date following the format defined in the 'dformat' property.\n• **Field Reference:** The name of another date field (e.g., 'fieldname1') to enforce that the current field value is less than or equal to that field's date.\n• **Numeric Offset:** A number representing a relative offset in days from today (e.g., '2' means two days from today, '-1' means yesterday).\n• **Relative Date String:** A smart text using numeric and period pairs, where valid periods include 'y' for years, 'm' for months, 'w' for weeks, and 'd' for days. For example, '+1m +7d' represents one month and seven days from today.","type":"string","default":""},"invalidDates":{"description":"This string property defines dates that are disallowed in the datepicker. If a user selects or enters any of these dates, validation will fail and the form cannot be submitted. Dates should be given in the 'mm/dd/yyyy' format. Use commas to separate individual dates (e.g., '12/31/2014,02/20/2014') or a hyphen to specify a range (e.g., '12/20/2014-12/28/2014').","type":"string","default":""},"validDates":{"description":"This string property specifies the allowed dates for selection in the datepicker. Only the dates (or date ranges) defined here will be enabled; all other dates will be disabled, and validation will fail if a user selects or types an unsupported date. Dates should be provided in the 'mm/dd/yyyy' format. Use commas to separate individual dates (e.g., '12/31/2014,02/20/2014') or a hyphen to define a range (e.g., '12/20/2014-12/28/2014').","type":"string","default":""},"mondayFirstDay":{"description":"This boolean property determines the starting day of the week in the datepicker view. When set to true, Monday appears as the first day of the week; when set to false (default), Sunday is set as the first day.","type":"boolean","default":false},"alwaysVisible":{"description":"This boolean property controls the display mode of the datepicker. When set to true, the datepicker remains permanently visible and the manual date entry input is hidden. When set to false (default), a manual input field is provided and the datepicker is shown only when that field gains focus.","type":"boolean","default":false},"minHour":{"description":"This integer property sets the minimum selectable hour in the hours picker's dropdown. It applies when the time component ('showTimepicker') is enabled. Valid values range from 0 (midnight) to 23 (11 PM), with a default of 0.","type":"integer","minimum":0,"maximum":23,"default":0},"maxHour":{"description":"This integer property sets the maximum selectable hour in the hours picker's dropdown. It applies when the time component ('showTimepicker') is enabled. Valid values range from 0 (midnight) to 23 (11 PM), with a default of 23.","type":"integer","minimum":0,"maximum":23,"default":23},"minMinute":{"description":"This integer property defines the minimum selectable minute in the hours picker's dropdown. When the time component ('showTimepicker') is enabled, users cannot select a minute value lower than this setting. Valid values range from 0 to 59, with a default of 0.","type":"integer","minimum":0,"maximum":59,"default":0},"maxMinute":{"description":"This integer property defines the maximum selectable minute in the minutes picker's dropdown. When the time component ('showTimepicker') is enabled, users cannot select a minute value higher than this setting. Valid values range from 0 to 59, with a default value of 59.","type":"integer","minimum":0,"maximum":59,"default":59},"stepHour":{"description":"This integer property defines the increment step for the hour selector in the time picker's dropdown. For example, if set to 2, the hours will appear in two-hour increments (0, 2, 4, etc.). The default value of 1 means that every hour is included.","type":"integer","default":1},"stepMinute":{"description":"This integer property defines the interval between minute selections in the time picker's dropdown. For example, setting it to 10 results in selectable minutes at 0, 10, 20, etc., while the default value of 1 allows selection of every minute.","type":"integer","default":1},"showDatepicker":{"description":"This boolean property determines whether the date component of the datetime field is displayed. When set to true (default), the date portion is shown; when false, the datetime field will not include a date component, although the time component may still be visible if enabled. At least one of 'showDatepicker' or 'showTimepicker' must be set to true.","type":"boolean","default":true},"showTimepicker":{"description":"This boolean property determines whether the time component of the datetime field is displayed. When set to true, the time portion is shown; when false (default), the datetime field will not include a time component, although the date component may still be visible if enabled. At least one of 'showDatepicker' or 'showTimepicker' must be set to true.","type":"boolean","default":false},"timeErrorMssg":{"description":"This string property defines a custom error message that is displayed when the entered time does not meet the validation rules. It provides users with specific feedback to help correct their input.","type":"string","default":""},"ariaHourLabel":{"description":"This string property provides the ARIA label for the hours dropdown in the time component. It helps screen reader users understand the purpose of this control. The default label is 'hours'.","type":"string","default":"hours"},"ariaMinuteLabel":{"description":"This string property provides the ARIA label for the minutes dropdown in the time component. It helps screen reader users understand the purpose of this control. The default label is 'minutes'.","type":"string","default":"minutes"},"ariaAMPMLabel":{"description":"This string property sets the ARIA label for the AM/PM dropdown in the time component. It provides essential accessibility support by informing screen reader users about the control's purpose. The default label 'am or pm' is used if no custom label is provided.","type":"string","default":"am or pm"},"currentDate":{"description":"This boolean property determines whether the date component automatically defaults to the current local date when the 'defaultDate' property is empty. When set to true, the current date is used.","type":"boolean","default":false},"defaultDate":{"description":"This string property sets the default value for the date component. If left empty, the date will load using the current local date (provided that 'currentDate' is true) or remain blank otherwise. The property supports several formats:\n\n• **Fixed Date:** A specific date formatted according to the 'dformat' property.\n• **Numeric Offset:** A number indicating days from today (e.g., '2' for two days from now or '-1' for yesterday).\n• **Relative Date Expression:** A smart text combining number and period pairs, where valid periods are: 'y' (years), 'm' (months), 'w' (weeks), and 'd' (days). For example, '+1m +7d' represents one month and seven days from today.","type":"string","default":""},"defaultTime":{"description":"This string property specifies the default time for the time component using the 'HH:mm' format (hours and minutes). For instance, an example value is '15:30'. If left empty, the field will use the current system time.","type":"string","default":"","example":"15:30"},"working_dates":{"description":"This array property must contain exactly seven Boolean values, each representing a day of the week. A value of 'true' means that dates on that day are allowed in the datepicker, while 'false' disables selection for that day. If a user selects a date corresponding to a disabled day, the validation will fail and the form cannot be submitted. The order of the array items corresponds to the days of the week, starting with Sunday (or Monday, based on your configuration).","type":"array","items":{"type":"boolean"},"minItems":7,"maxItems":7,"default":[true,true,true,true,true,true,true]},"errorMssg":{"description":"This string property defines the custom error message to be displayed when the date input fails the validation rules. It provides a clear prompt to users about why their entered date is not accepted.","type":"string","default":""}},"required":["name","ftype","working_dates","showDatepicker","dformat","showTimepicker","title"],"additionalProperties":true},"ftextarea":{"description":"A multiline text control that allows users to enter multiple lines of text.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"ftextarea"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"autocomplete":{"description":"Specifies whether and how the browser should automatically fill this form field with previously stored user data. The value corresponds to HTML5 autocomplete attribute values. When set to 'off', autocomplete is disabled. When set to 'on', the browser can automatically complete the field with any relevant saved data. Other values specify exact types of information to auto-fill (e.g., 'name', 'email', 'address-line1', 'cc-number', etc.). This helps improve form usability while respecting user preferences for data completion.","type":"string","enum":["off","on","name","honorific-prefix","given-name","additional-name","family-name","honorific-suffix","nickname","email","username","new-password","current-password","one-time-code","organization-title","organization","street-address","address-line1","address-line2","address-line3","address-level4","address-level3","address-level2","address-level1","country","country-name","postal-code","cc-name","cc-given-name","cc-additional-name","cc-family-name","cc-number","cc-exp","cc-exp-month","cc-exp-year","cc-csc","cc-type","transaction-currency","transaction-amount","language","bday","bday-day","bday-month","bday-year","sex","tel","tel-country-code","tel-national","tel-area-code","tel-local","tel-extension","impp","url","photo"],"default":"off"},"predefined":{"description":"Specifies the initial value that will be pre-populated in the form field when the form loads. This default value appears before any user interaction and can be overwritten by user input. If left as an empty string, the field will be initially blank. The predefined value serves as both a starting point for user input and can function as a placeholder or example of expected data format.","type":"string","default":""},"predefinedClick":{"description":"Controls how the 'predefined' property value is interpreted and displayed in the form field. If set to true, the 'predefined' value will be shown as a placeholder (disappears when field is clicked/focused). If set to false (default), the 'predefined' value will be treated as the actual initial value of the field (remains when field is clicked/focused).","type":"boolean","default":false},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"accept_html":{"description":"Determines whether the field accepts HTML tags in its value. If set to true, the field will accept HTML tags. If set to false (default), the server will remove all HTML tags from the submitted field value. Regardless of this setting, the field value will always be sanitized to eliminate any potential XSS vulnerabilities.","type":"boolean","default":false},"readonly":{"description":"Determines whether the field is read-only. If set to true, the field is non-editable and cannot be modified by the user. If set to false (default), the field is editable.","type":"boolean","default":false},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"},"minlength":{"description":"Specifies the minimum number of characters required for the field value. If the entered value is shorter than this minimum, the validation will fail and the form will not be submitted.","type":"integer","default":0},"maxlength":{"description":"Specifies the maximum number of characters accepted for the field value. If the entered value is larger than this maximum, the validation will fail and the form will not be submitted.","type":"integer"},"rows":{"description":"This integer property sets the 'rows' attribute of the textarea control, determining the number of lines visible to the user. The default value is 4.","type":"integer","default":4}},"required":["name","ftype","title"],"additionalProperties":true},"fcheck":{"description":"A checkbox group control that allows users to select multiple choices, with each checkbox optionally accompanied by a quantity input box.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fcheck"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"layout":{"description":"This string property determines the display layout for a checkbox group's choices. The allowed values are 'one_column', 'two_column', 'three_column', and 'side_by_side'. Each option arranges the checkboxes in a different format: 'one_column' shows a single vertical list, 'two_column' and 'three_column' display the choices across two or three columns respectively, and 'side_by_side' places them adjacent horizontally. The default value is 'one_column'.","type":"string","enum":["one_column","two_column","three_column","side_by_side"],"default":"one_column"},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"accept_html":{"description":"Determines whether the field accepts HTML tags in its value. If set to true, the field will accept HTML tags. If set to false (default), the server will remove all HTML tags from the submitted field value. Regardless of this setting, the field value will always be sanitized to eliminate any potential XSS vulnerabilities.","type":"boolean","default":false},"readonly":{"description":"Determines whether the field is read-only. If set to true, the field is non-editable and cannot be modified by the user. If set to false (default), the field is editable.","type":"boolean","default":false},"toSubmit":{"description":"This string property specifies which part of each checkbox option is sent to the server upon form submission. Each checkbox option contains a display text and an underlying value. When set to 'text' (the default), the submitted information is the display text; when set to 'value', the underlying value is sent instead. Note that in 'fCalculated' fields, the 'eq' code uses the choices' values by default.","type":"string","enum":["text","value"],"default":"text"},"merge":{"description":"This boolean property determines how the values of checked checkboxes are handled in calculated fields (using the 'eq' code in 'fCalculated' field types). When set to true (default), the checked values are merged: textual values are concatenated and numeric values are summed to produce a single result. When set to false, the checked values remain as an array containing each individual value.","type":"boolean","default":true},"onoff":{"description":"This boolean property specifies the display style for checkbox controls. When set to true, the field renders as on/off switches; when set to false (default), standard HTML checkboxes are used.","type":"boolean","default":false},"quantity":{"description":"This boolean property determines whether a quantity input is displayed alongside each checkbox choice. When enabled (true), a quantity box appears with every checkbox and the effective value for that choice is calculated by multiplying the checkbox's predefined value by the entered quantity. When disabled (false, the default), no quantity box is provided, and each checkbox's value remains standalone.","type":"boolean","default":false},"quantity_when_ticked":{"description":"This boolean property determines the display behavior of quantity boxes associated with each checkbox choice. When set to true, the quantity box for a checkbox appears only when that checkbox is selected and remains hidden if it is not. This setting is applicable only if the 'quantity' property is enabled.","type":"boolean","default":false},"max":{"description":"Specifies the maximum number of checkboxes in the group that can be selected for the field to be considered valid. If the number of selected choices exceeds this maximum, validation fails and the form will not be submitted. A value less than zero indicates that no maximum restriction is applied.","type":"integer","default":-1},"min":{"description":"Specifies the minimum number of checkboxes in the group that must be selected for the field to be considered valid. If the number of selected choices is less than this minimum, validation fails and the form will not be submitted. A value less than zero indicates that no minimum restriction is applied.","type":"integer","default":-1},"maxError":{"description":"This string property defines the error message displayed when the 'max' validation rule fails, meaning the user has selected more options than allowed. The placeholder '{0}' in the message is dynamically replaced with the maximum allowed value specified in the 'max' property.","type":"string","default":"Check no more than {0} boxes"},"minError":{"description":"This string property defines the error message displayed when the minimum selection validation fails, that is, when the user has not selected enough options. The placeholder '{0}' in the message is dynamically replaced with the required minimum value specified by the 'min' property.","type":"string","default":"Check at least {0} boxes"},"choices":{"description":"This property holds an array of strings, where each string represents the text label for a corresponding checkbox choice. The number of items in this array should exactly match the number of items in the 'choicesVal', 'choiceSelected', and 'choicesDep' arrays to maintain consistency.","type":"array","default":[],"example":["First Choice","Second Choice","Third Choice"]},"choicesVal":{"description":"This property contains an array of values that correspond to each checkbox's value. Each item can be either a string or a number. It is essential that the number of items in this array exactly matches the number of entries in the 'choices', 'choiceSelected', and 'choicesDep' arrays to ensure a consistent configuration.","type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"}]},"default":[],"example":["A",3,"$1,123.45"]},"choiceSelected":{"description":"This array property specifies the default checked state for each checkbox. Each boolean value corresponds to a checkbox in the same order as defined in the 'choices' (and related) arrays. A value of true indicates that the checkbox is checked by default, while false leaves it unchecked. It is essential that the number of items in this array exactly matches the number of items in the 'choices', 'choicesVal', and 'choicesDep' arrays to ensure configuration consistency.","type":"array","items":{"type":"boolean","default":false},"example":[false,false,false]},"choicesDep":{"description":"This property is an array of dependency arrays, where each sub-array corresponds to a choice defined in the 'choices' array. Each sub-array contains the field names (as strings) that depend on the corresponding choice. When a choice is unchecked, its dependent fields are hidden, excluded from the form submission, and deactivated (i.e., treated as zero or empty in calculated expressions such as those in the 'eq' code of 'fCalculated' fields). Note: The dependency arrays must not include any 'fPageBreak' fields, the current field itself, or any container fields (e.g., 'fdiv', 'ffieldset', or 'fpopup') that contain the current field directly or indirectly in order to avoid recursive issues. It is essential that the number of items in this array exactly matches the number of items in the 'choices', 'choicesVal', and 'choiceSelected' arrays to ensure configuration consistency.","type":"array","default":[],"items":{"type":"array","description":"An array of field names (as strings) that are dependent on the corresponding choice. This array can be empty if there are no dependent fields for that choice.","default":[],"items":{"type":"string"},"example":["fieldname1","fieldname2"]},"example":[["fieldname1","fieldname2"],[],["fieldname3"]]}},"required":["name","ftype","choices","choicesVal","choicesDep","title"],"additionalProperties":true},"fradio":{"description":"A radio button group control that allows users to select only one option.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fradio"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"layout":{"description":"This string property defines the layout for a radio buttons group. It accepts one of the following values: 'one_column', 'two_column', 'three_column', or 'side_by_side'. 'one_column' displays the radio buttons in a single vertical column, 'two_column' and 'three_column' arrange them in two or three columns respectively, and 'side_by_side' places them horizontally adjacent. The default layout is 'one_column'.","type":"string","enum":["one_column","two_column","three_column","side_by_side"],"default":"one_column"},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"accept_html":{"description":"Determines whether the field accepts HTML tags in its value. If set to true, the field will accept HTML tags. If set to false (default), the server will remove all HTML tags from the submitted field value. Regardless of this setting, the field value will always be sanitized to eliminate any potential XSS vulnerabilities.","type":"boolean","default":false},"readonly":{"description":"Determines whether the field is read-only. If set to true, the field is non-editable and cannot be modified by the user. If set to false (default), the field is editable.","type":"boolean","default":false},"toSubmit":{"description":"This string property specifies which part of each radio buttons option is sent to the server upon form submission. Each radio button option contains a display text and an underlying value. When set to 'text' (the default), the submitted information is the display text; when set to 'value', the underlying value is sent instead. Note that in 'fCalculated' fields, the 'eq' code uses the choices' values by default.","type":"string","enum":["text","value"],"default":"text"},"choiceSelected":{"description":"This string property defines the default radio button selection by specifying the value that should be checked when the form loads. If the property is empty or does not match any available radio button values, no option will be preselected.","type":"string","default":""},"untickAccepted":{"description":"This boolean property determines whether all radio buttons in the group can be unchecked. When set to true (default), users may uncheck all options, leaving the group with no selection. If set to false, once a radio button is selected, at least one option must remain checked.","type":"boolean","default":true},"onoff":{"description":"This boolean property specifies the display style for radio button controls. When set to true, the field renders as on/off switches; when set to false (default), standard HTML radio buttons are used.","type":"boolean","default":false},"choices":{"description":"This property holds an array of strings, where each string represents the text label for a corresponding radio button choice. The number of items in this array should exactly match the number of items in the 'choicesVal', and 'choicesDep' arrays to maintain consistency.","type":"array","default":[],"example":["First Choice","Second Choice","Third Choice"]},"choicesVal":{"description":"This property contains an array of values that correspond to each radio button's value. Each item can be either a string or a number. It is essential that the number of items in this array exactly matches the number of entries in the 'choices' and 'choicesDep' arrays to ensure a consistent configuration.","type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"}]},"default":[],"example":["A",3,"$1,123.45"]},"choicesDep":{"description":"This property is an array of dependency arrays, where each sub-array corresponds to a choice defined in the 'choices' array. Each sub-array contains the field names (as strings) that depend on the corresponding choice. When a choice is unchecked, its dependent fields are hidden, excluded from the form submission, and deactivated (i.e., treated as zero or empty in calculated expressions such as those in the 'eq' code of 'fCalculated' fields). Note: The dependency arrays must not include any 'fPageBreak' fields, the current field itself, or any container fields (e.g., 'fdiv', 'ffieldset', or 'fpopup') that contain the current field directly or indirectly in order to avoid recursive issues. It is essential that the number of items in this array exactly matches the number of items in the 'choices', and 'choicesVal' arrays to ensure configuration consistency.","type":"array","default":[],"items":{"type":"array","description":"An array of field names (as strings) that are dependent on the corresponding choice. This array can be empty if there are no dependent fields for that choice.","default":[],"items":{"type":"string"},"example":["fieldname1","fieldname2"]},"example":[["fieldname1","fieldname2"],[],["fieldname3"]]}},"required":["name","ftype","choices","choicesVal","choicesDep","title"],"additionalProperties":true},"fdropdown":{"description":"A dropdown control that allows users to select a single option by default, or multiple options when configured for multi-selection.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fdropdown"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"accept_html":{"description":"Determines whether the field accepts HTML tags in its value. If set to true, the field will accept HTML tags. If set to false (default), the server will remove all HTML tags from the submitted field value. Regardless of this setting, the field value will always be sanitized to eliminate any potential XSS vulnerabilities.","type":"boolean","default":false},"toSubmit":{"description":"This string property specifies which part of each dropdown option is sent to the server upon form submission. Each dropdown option contains a display text and an underlying value. When set to 'text' (the default), the submitted information is the display text; when set to 'value', the underlying value is sent instead. Note that in 'fCalculated' fields, the 'eq' code uses the choices' values by default.","type":"string","enum":["text","value"],"default":"text"},"merge":{"description":"This boolean property controls how values from a multiselect dropdown are processed when used in calculated fields (via the 'eq' code in 'fCalculated' field types). When set to true (default), the selected option values are merged into a single result, textual values are concatenated and numeric values are summed. When set to false, the selected values remain as an array with each option preserved as an individual value. This property only affects the field value when 'multiple' property is set to true.","type":"boolean","default":true},"choiceSelected":{"description":"This string property defines the default dropdown option selection by specifying the value that should be selected when the form loads. If the property is empty or does not match any available option values, no option will be preselected.","type":"string","default":""},"select2":{"description":"This boolean property controls whether the dropdown field is transformed into a Select2 advanced control. When set to true, the field leverages the Select2 library to enhance usability and appearance. When set to false (default), the dropdown remains a standard HTML select element.","type":"boolean","default":false},"multiple":{"description":"This boolean property determines whether the dropdown field supports multiple selections or only a single selection. When set to true, the user can select multiple choices. When set to false (default), the dropdown allows only one choice at a time.","type":"boolean","default":false},"first_choice":{"description":"This boolean property controls whether the dropdown field includes an extra initial option representing an unselected state. When set to true, an additional option (not defined in the 'choices' property) is added at the start, allowing users to revert to a no-selection state.","type":"boolean","default":false},"first_choice_text":{"description":"This string property defines the display text for the additional initial option in the dropdown. This option is added only when the 'first_choice' property is set to true, and it represents an unselected state.","type":"string","default":""},"vChoices":{"description":"This integer property specifies the number of visual options displayed in the dropdown when it is configured for multiple selections (i.e., when the 'multiple' property is set to true). The minimum allowed value is 1.","type":"integer","default":1},"choices":{"description":"This property holds an array of strings, where each string represents the text for a corresponding dropdown option. The number of items in this array should exactly match the number of items in the 'choicesVal', 'choiceSelected', 'choicesDep', and 'optgroup' arrays to maintain consistency.","type":"array","default":[],"example":["First Choice","Second Choice","Third Choice"]},"choicesVal":{"description":"This property contains an array of values that correspond to each dropdown option value. Each item can be either a string or a number. It is essential that the number of items in this array exactly matches the number of entries in the 'choices', 'choiceSelected', 'choicesDep', and 'optgroup' arrays to ensure a consistent configuration.","type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"}]},"default":[],"example":["A",3,"$1,123.45"]},"optgroup":{"description":"This array property specifies whether each dropdown option should be rendered as an optgroup label. Each boolean value corresponds positionally to entries in the 'choices', 'choicesVal', 'choiceSelected', and 'choicesDep' arrays. A value of true indicates that the option is an optgroup, while false designates a standard selectable option. It is essential that the number of items in this array exactly matches the number of items in the related arrays to ensure configuration consistency.","type":"array","items":{"type":"boolean","default":false},"example":[false,false,false]},"choicesDep":{"description":"This property is an array of dependency arrays, where each sub-array corresponds to a choice defined in the 'choices' array. Each sub-array contains the field names (as strings) that depend on the corresponding choice. When a choice is unchecked, its dependent fields are hidden, excluded from the form submission, and deactivated (i.e., treated as zero or empty in calculated expressions such as those in the 'eq' code of 'fCalculated' fields). Note: The dependency arrays must not include any 'fPageBreak' fields, the current field itself, or any container fields (e.g., 'fdiv', 'ffieldset', or 'fpopup') that contain the current field directly or indirectly in order to avoid recursive issues. It is essential that the number of items in this array exactly matches the number of items in the 'choices', 'choicesVal', and 'choiceSelected' arrays to ensure configuration consistency.","type":"array","default":[],"items":{"type":"array","description":"An array of field names (as strings) that are dependent on the corresponding choice. This array can be empty if there are no dependent fields for that choice.","default":[],"items":{"type":"string"},"example":["fieldname1","fieldname2"]},"example":[["fieldname1","fieldname2"],[],["fieldname3"]]}},"required":["name","ftype","choices","choicesVal","choicesDep","title"],"additionalProperties":true},"ffile":{"description":"A file picker control that allows users to select local files for uploading to the server.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"ffile"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"},"accept":{"description":"This string property defines the allowed file extensions for the upload control. Specify the extensions as a comma-separated list without the leading dot. For example, 'jpg,png,gif,pdf'. If the property is empty, no file type restrictions will be applied.","type":"string","default":"","example":"jpg,png,gif,pdf"},"upload_size":{"description":"This string property specifies the maximum file size allowed for uploads, expressed in kilobytes (KB). Provide the file size limit as a numeric string (e.g., '1024' for 1024 KB). If left empty, no file size restriction will be applied.","type":"string","default":"","example":"1024"},"multiple":{"description":"This boolean property controls whether the file input accepts multiple files at once. When set to true, users can select and upload more than one file simultaneously. When set to false (default), only a single file can be selected and uploaded at a time.","type":"boolean","default":false},"preview":{"description":"This boolean property determines whether a preview is shown for selected files. When set to true, image files display a thumbnail preview while non-image files show their file names. When set to false (default), no preview is displayed.","type":"boolean","default":false},"thumb_width":{"description":"This property specifies the width of the preview thumbnails for image files. It is applicable only when the 'preview' property is enabled. The width should be provided as a valid CSS dimension (e.g., '80px').","type":"string","example":"80px"},"thumb_height":{"description":"This property specifies the height of the preview thumbnails for image files. It is applicable only when the 'preview' property is enabled. The height should be provided as a valid CSS dimension (e.g., '80px').","type":"string","example":"80px"}},"required":["name","ftype","title"],"additionalProperties":true},"fpassword":{"description":"A single-line text field that allows users to enter a password.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fpassword"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"predefined":{"description":"Specifies the initial value that will be pre-populated in the form field when the form loads. This default value appears before any user interaction and can be overwritten by user input. If left as an empty string, the field will be initially blank. The predefined value serves as both a starting point for user input and can function as a placeholder or example of expected data format.","type":"string","default":""},"predefinedClick":{"description":"Controls how the 'predefined' property value is interpreted and displayed in the form field. If set to true, the 'predefined' value will be shown as a placeholder (disappears when field is clicked/focused). If set to false (default), the 'predefined' value will be treated as the actual initial value of the field (remains when field is clicked/focused).","type":"boolean","default":false},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"},"minlength":{"description":"Specifies the minimum number of characters required for the field value. If the entered value is shorter than this minimum, the validation will fail and the form will not be submitted.","type":"integer","default":0},"maxlength":{"description":"Specifies the maximum number of characters accepted for the field value. If the entered value is larger than this maximum, the validation will fail and the form will not be submitted.","type":"integer"},"equalTo":{"description":"Specifies the name of another field in the form that the current field must match for validation. If the value of this field does not equal the value of the specified field, the validation will fail and the form cannot be submitted.","type":"string","default":""},"regExp":{"description":"Specifies a regular expression used to validate the field value. If the field value does not match the specified regular expression, validation fails and the form cannot be submitted.","type":"string","default":"","example":"/\\S+/"},"regExpMssg":{"description":"Error message to display if the field value does not match the regular expression entered in the 'regExp' property.","type":"string","default":""}},"required":["name","ftype","title"],"additionalProperties":true},"fPhone":{"description":"A phone control that allows users to enter a phone number. Optionally, it can include a country prefix selection component.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fPhone"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"readonly":{"description":"Determines whether the field is read-only. If set to true, the field is non-editable and cannot be modified by the user. If set to false (default), the field is editable.","type":"boolean","default":false},"dformat":{"description":"This string property defines the format for a phone input control, controlling both its layout and input validation. Spaces act as delimiters to split the field into multiple input boxes, while each sequence of non-space characters specifies the required number of digits for that component. If the entered digits do not match the defined pattern, the validation rule fails and the form cannot be submitted.","type":"string","default":"### ### ####","example":"### ### ####"},"predefined":{"description":"Specifies the initial value that will be pre-populated in the form field when the form loads. This default value appears before any user interaction and can be overwritten by user input. If left as an empty string, the field will be initially blank. The predefined value serves as both a starting point for user input and can function as a placeholder or example of expected data format.","type":"string","default":""},"predefinedClick":{"description":"Controls how the 'predefined' property value is interpreted and displayed in the form field. If set to true (default), the 'predefined' value will be shown as a placeholder (disappears when field is clicked/focused). If set to false, the 'predefined' value will be treated as the actual initial value of the field (remains when field is clicked/focused).","type":"boolean","default":true},"countryComponent":{"description":"This boolean property determines whether the field includes a dropdown component for selecting country dialing prefixes. When set to true, the dropdown is rendered with a list of country prefixes; when set to false (default), no country prefix component is included.","type":"boolean","default":false},"toDisplay":{"description":"This string property determines the display format for the country dialing prefixes in the dropdown component, applicable when the 'countryComponent' is enabled. Choose 'iso' to display the country ISO codes (e.g., 'US') or 'code' to show the dialing prefix (e.g., '+1').","type":"string","enum":["iso","code"],"default":"iso"},"countries":{"description":"This property provides a list of ISO country codes to be included in the dropdown component for selecting country dialing prefixes, applicable when the 'countryComponent' is enabled. If the array is empty, all countries will be included in the component.","type":"array","items":{"description":"A country ISO code in uppercase (e.g., 'US').","type":"string","example":"US"},"default":[],"example":["US","UK","CA"]},"defaultCountry":{"description":"This string property specifies the default ISO country code (in uppercase) for the country dialing prefixes dropdown. It applies when the 'countryComponent' is enabled. If the property is empty, the first country in the list will be selected by default.","type":"string","default":"","example":"US"},"dynamic":{"description":"This boolean property determines whether the phone input field dynamically adjusts its layout, number of digits, and validation rules based on the country selected from the country prefixes dropdown. It is effective only when the 'countryComponent' is enabled. When set to true, the field adapts to the phone number format corresponding to the chosen country; when set to false (default), the field retains its initial configuration.","type":"boolean","default":false},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"}},"required":["name","ftype","dformat","countryComponent","title"],"additionalProperties":true},"fCommentArea":{"description":"A display area for user instructions, supporting plain text or enriched HTML content. It is non-interactive and does not accept user input.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fCommentArea"},"userhelp":{"description":"This string property provides additional help text for the field, offering clarity or guidance. The text can be displayed as a tooltip or inline message to assist users in understanding the field's purpose.","type":"string","example":"A description of the section goes here."},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""}},"required":["name","ftype","title"],"additionalProperties":true},"fhidden":{"description":"A hidden field that holds an internal value for the form. It is not visible to users, and it is non-interactive, meaning it does not accept any user input.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fhidden"},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"title":{"description":"Field main label","type":"string","default":""},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"accept_html":{"description":"Determines whether the field accepts HTML tags in its value. If set to true, the field will accept HTML tags. If set to false (default), the server will remove all HTML tags from the submitted field value. Regardless of this setting, the field value will always be sanitized to eliminate any potential XSS vulnerabilities.","type":"boolean","default":false},"predefined":{"description":"Specifies the field value.","type":"string","default":""}},"required":["name","ftype","title"],"additionalProperties":true},"fSectionBreak":{"description":"A visual section break that delineates distinct sections in a form. Displayed as enhanced text, it serves solely for organizational and aesthetic purposes.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fSectionBreak"},"userhelp":{"description":"This string property provides additional help text for the field, offering clarity or guidance. The text can be displayed as a tooltip or inline message to assist users in understanding the field's purpose.","type":"string","example":"A description of the section goes here."},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""}},"required":["name","ftype","title"],"additionalProperties":true},"fPageBreak":{"description":"A page break element that divides the form into multiple pages. Fields above and below the break will appear on separate pages. When encountering a page break, navigation controls (such as 'Next' and 'Previous' buttons) are activated to guide the user through the form.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fPageBreak"}},"required":["name","ftype"],"additionalProperties":true},"fsummary":{"description":"A summary display control that provides an overview of the information collected by the form, including the field labels and their corresponding values.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fsummary"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"exclude_empty":{"description":"This boolean property determines whether fields with empty values, such as checkboxes or radio buttons with no selected option, or dropdown fields with no chosen option, should be excluded from the summary. Set to true to omit these fields from the summary entirely; set to false (default) to include them, displaying only their labels when no value is present.","type":"boolean","default":false},"fields":{"description":"This string property specifies the field names to include in the summary. List the names separated by commas (e.g., 'fieldname1,fieldname2,fieldname3'). If left empty, no fields will be included in the summary.","type":"string","default":"","example":"fieldname1,fieldname2,fieldname3"},"titleClassname":{"description":"This string property specifies the CSS class name to style the field labels in the summary. Use this property to customize the appearance of the titles in your summary section.","type":"string","default":"","example":"summary-field-title"},"valueClassname":{"description":"This string property specifies the CSS class name to style the field values in the summary. Use this property to customize the appearance of the values in your summary section.","type":"string","default":"","example":"summary-field-value"}},"required":["name","ftype","fields","title"],"additionalProperties":true},"ffieldset":{"description":"An advanced fieldset HTML component that can contain other form controls. It can be configured to be collapsible, functioning like an accordion, where the contained fields are hidden until expanded. Additionally, it supports group behavior with other fieldsets at the same level, ensuring that only one section is expanded at a time. The layout of the contained form controls can also be arranged in columns for improved organization.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"ffieldset"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"fields":{"description":"This property is used by the fieldset control to hold an array of field names that correspond to the 'name' attributes of other fields in the form. Each field name must follow the format 'fieldname#', where '#' represents one or more digits (with the first digit not being zero). The list must not include any 'fPageBreak' fields, the current field's own name, or any container fields (e.g., 'fdiv', 'ffieldset', 'fpopup') that directly or indirectly include the current field, in order to avoid recursive issues.","type":"array","items":{"type":"string","description":"A field name matching the 'name' attribute of a field, following the required format (e.g., 'fieldname1', 'fieldname2').","pattern":"^[A-Za-z]+[1-9]\\d*$"},"default":[],"example":["fieldname1","fieldname2","fieldname3"]},"columns":{"description":"This integer property defines how the contained fields are arranged into columns. A value of 1 displays the fields in a single vertical column (one below the other), while values greater than 1 organize the fields into the specified number of columns. The acceptable range is between 1 and 12.","type":"integer","minimum":1,"maximum":12,"default":1},"align":{"description":"This string property specifies the vertical alignment of fields within the same row when using multiple columns. It applies only if the 'columns' property is greater than 1. Set to 'top' (default) for top-aligned fields or 'bottom' for bottom-aligned fields.","type":"string","enum":["top","bottom"],"default":"top"},"rearrange":{"description":"This boolean property controls the layout behavior when fields become hidden at runtime (for example, due to dependency evaluations). When set to true, the visible fields are automatically rearranged to fill the gaps left by hidden fields. When false (the default), the layout maintains the original positions, leaving empty space where fields are hidden.","type":"boolean","default":false},"title":{"description":"Fieldset legend text","type":"string","default":""},"collapsible":{"description":"This boolean property determines whether the field behaves like an accordion. When set to true, clicking the fieldset's legend toggles between collapsing (hiding the contained fields) and expanding (revealing the contained fields). When set to false (default), clicking the legend does not trigger any action, and the contained fields remain visible.","type":"boolean","default":false},"defaultCollapsed":{"description":"This boolean property specifies the initial state of a collapsible fieldset. It applies only when the 'collapsible' property is enabled. When set to true (default), the fieldset starts in a collapsed state, hiding its contained fields. When set to false, the fieldset is initially expanded, and all contained fields are visible.","type":"boolean","default":true},"selfClosing":{"description":"This boolean property applies only when the 'collapsible' property is enabled. It determines whether only one fieldset at the same hierarchical level can be expanded at a time. When set to true, if a user expands another sibling fieldset, the current fieldset will automatically collapse. When set to false (default), the current fieldset remains independent of the states of other fieldsets.","type":"boolean","default":false}},"required":["name","ftype","title"],"additionalProperties":true},"fdiv":{"description":"A DIV HTML component that serves as a container for other form controls. It supports organizing its contained controls into multiple columns, providing a clean and structured layout.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fdiv"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"fields":{"description":"This property is used by the fieldset control to hold an array of field names that correspond to the 'name' attributes of other fields in the form. Each field name must follow the format 'fieldname#', where '#' represents one or more digits (with the first digit not being zero). The list must not include any 'fPageBreak' fields, the current field's own name, or any container fields (e.g., 'fdiv', 'ffieldset', 'fpopup') that directly or indirectly include the current field, in order to avoid recursive issues.","type":"array","items":{"type":"string","description":"A field name matching the 'name' attribute of a field, following the required format (e.g., 'fieldname1', 'fieldname2').","pattern":"^[A-Za-z]+[1-9]\\d*$"},"default":[],"example":["fieldname1","fieldname2","fieldname3"]},"columns":{"description":"This integer property defines how the contained fields are arranged into columns. A value of 1 displays the fields in a single vertical column (one below the other), while values greater than 1 organize the fields into the specified number of columns. The acceptable range is between 1 and 12.","type":"integer","minimum":1,"maximum":12,"default":1},"align":{"description":"This string property specifies the vertical alignment of fields within the same row when using multiple columns. It applies only if the 'columns' property is greater than 1. Set to 'top' (default) for top-aligned fields or 'bottom' for bottom-aligned fields.","type":"string","enum":["top","bottom"],"default":"top"},"rearrange":{"description":"This boolean property controls the layout behavior when fields become hidden at runtime (for example, due to dependency evaluations). When set to true, the visible fields are automatically rearranged to fill the gaps left by hidden fields. When false (the default), the layout maintains the original positions, leaving empty space where fields are hidden.","type":"boolean","default":false}},"required":["name","ftype"],"additionalProperties":true},"fpopup":{"description":"A dynamic pop-up component that can contain various form controls. It can be displayed automatically after the form renders, triggered by the SHOWFIELD(fieldname#) function, or activated by a user action, such as clicking a button. The pop-up can be configured as modal, requiring the user to close it before accessing other form fields, as well as resizable and draggable, allowing users to adjust its size or reposition it to minimize obstruction. Additionally, the contained form fields can be arranged in a column-based layout.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fpopup"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"fields":{"description":"This property is used by the fieldset control to hold an array of field names that correspond to the 'name' attributes of other fields in the form. Each field name must follow the format 'fieldname#', where '#' represents one or more digits (with the first digit not being zero). The list must not include any 'fPageBreak' fields, the current field's own name, or any container fields (e.g., 'fdiv', 'ffieldset', 'fpopup') that directly or indirectly include the current field, in order to avoid recursive issues.","type":"array","items":{"type":"string","description":"A field name matching the 'name' attribute of a field, following the required format (e.g., 'fieldname1', 'fieldname2').","pattern":"^[A-Za-z]+[1-9]\\d*$"},"default":[],"example":["fieldname1","fieldname2","fieldname3"]},"columns":{"description":"This integer property defines how the contained fields are arranged into columns. A value of 1 displays the fields in a single vertical column (one below the other), while values greater than 1 organize the fields into the specified number of columns. The acceptable range is between 1 and 12.","type":"integer","minimum":1,"maximum":12,"default":1},"align":{"description":"This string property specifies the vertical alignment of fields within the same row when using multiple columns. It applies only if the 'columns' property is greater than 1. Set to 'top' (default) for top-aligned fields or 'bottom' for bottom-aligned fields.","type":"string","enum":["top","bottom"],"default":"top"},"rearrange":{"description":"This boolean property controls the layout behavior when fields become hidden at runtime (for example, due to dependency evaluations). When set to true, the visible fields are automatically rearranged to fill the gaps left by hidden fields. When false (the default), the layout maintains the original positions, leaving empty space where fields are hidden.","type":"boolean","default":false},"title":{"description":"Popup header text","type":"string","default":""},"titletag":{"description":"This string property specifies the HTML element used to render the popup title. You can choose from several header tags (H1 through H6) or a standard paragraph tag (P). Header tags provide varying levels of emphasis, while the 'P' tag renders the title as regular text. The default value is 'P'.","type":"string","enum":["H1","H2","H3","H4","H5","H6","P"],"default":"P"},"open_onload":{"description":"This boolean property controls the initial visibility of the popup when the form is loaded or rendered. If set to true, the popup is automatically displayed as soon as the form loads. If set to false (default), the popup remains hidden until explicitly triggered by the user.","type":"boolean","default":false},"open_onclick":{"description":"This property specifies the 'name' attribute of a button field (with 'ftype' set to 'fButton') that will trigger the popup on its onclick event. The button's name must not be included in the popup's own 'fields' list, nor can it be nested inside any container fields (such as 'fdiv', 'ffieldset', or 'fpopup') within the current popup to prevent recursive dependencies.","type":"string","default":""},"close_button":{"description":"This boolean property determines whether the popup includes a close button. When set to true (default), the popup will display a button that allows users to close it. When set to false, the popup will not include a close button, meaning it must be closed by some alternative method.","type":"boolean","default":true},"modal":{"description":"This boolean property specifies whether the popup behaves as a modal dialog. When set to true (default), the popup demands the user's full attention by blocking interaction with the rest of the interface until it is closed. When set to false, the popup appears as a non-modal element, allowing users to interact with other parts of the UI while it is open.","type":"boolean","default":true},"dragging":{"description":"This boolean property determines whether users can reposition the popup via drag-and-drop. When set to true, users are enabled to click and drag the popup to a different location on the screen. When set to false (default), the popup remains fixed in its initial position.","type":"boolean","default":false},"resizing":{"description":"This boolean property specifies whether the popup can be resized by user actions. When set to true, the popup will display resize handles, allowing the user to adjust its dimensions by dragging its edges or corners. When set to false (default), the popup's size remains fixed.","type":"boolean","default":false},"position":{"description":"This string property sets the default position of the popup relative to the viewport. It accepts one of the following values: 'center', 'top-left', 'top-right', 'bottom-left', or 'bottom-right'. The default value, 'center', places the popup at the center of the viewport.","type":"string","enum":["center","top-left","top-right","bottom-left","bottom-right"],"default":"center"},"width":{"description":"This string property defines the default width of the popup. The value should be a valid CSS length (e.g., '360px', '50%', '20em'). The default value '360px' sets the popup's width to 360 pixels.","type":"string","default":"360px"},"height":{"description":"This string property specifies the default height of the popup. The value should be a valid CSS length (for example, '360px', '50%', or '20em'). The default value '360px' sets the popup's height to 360 pixels.","type":"string","default":"360px"}},"required":["name","ftype","title"],"additionalProperties":true},"fMedia":{"description":"A media control that supports displaying various types of media in the form, including pictures, audio files, and videos. It offers configurable settings tailored to the specific attributes of the selected media source, enabling customized display and functionality.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fMedia"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"sMediaType":{"description":"This string property defines the active media type for the current field instance. It accepts one of the following values: 'image', 'audio', or 'video'. The default value is 'image', which means that, unless specified otherwise, the field is configured to handle image media.","type":"string","enum":["image","audio","video"],"default":"image"},"data":{"description":"An object that holds the configuration for a media object. It must contain exactly one of the supported media types.","type":"object","oneOf":[{"required":["image"]},{"required":["audio"]},{"required":["video"]}],"properties":{"image":{"description":"Configuration for an image media object.","type":"object","properties":{"sWidth":{"type":"string","description":"The width of the image (e.g., '600px' or '100%').","example":"600px"},"sHeight":{"type":"string","description":"The height of the image (e.g., '400px').","example":"400px"},"sSrc":{"type":"string","format":"uri","description":"The source URL for the image."},"sAlt":{"type":"string","description":"Alternate text for the image."},"sLink":{"type":"string","format":"uri","description":"Hyperlink URL to be applied if the image is clickable."},"sTarget":{"type":"string","enum":["_self","_blank","_parent","_top"],"description":"The target attribute for the link (if provided)."},"sFigcaption":{"type":"string","description":"A caption or description displayed with the image."},"sLazy":{"type":"boolean","description":"Indicates whether the image should use lazy-loading.","default":false}},"required":["sSrc"],"additionalProperties":true},"audio":{"description":"Configuration for an audio media object.","type":"object","properties":{"sWidth":{"type":"string","description":"The width of the audio player, if applicable.","example":"300px"},"sSrc":{"type":"string","format":"uri","description":"The source URL for the audio file."},"sSrcAlt":{"type":"string","format":"uri","description":"An alternate source URL for the audio file."},"sControls":{"type":"boolean","description":"Determines whether audio controls should be displayed.","default":true},"sLoop":{"type":"boolean","description":"Determines whether the audio should loop.","default":false},"sAutoplay":{"type":"boolean","description":"Determines whether the audio should autoplay.","default":false},"sMuted":{"type":"boolean","description":"Determines whether the audio should be muted by default.","default":false},"sPreload":{"type":"string","enum":["none","metadata","auto"],"description":"Indicates whether the audio file should be preloaded.","default":"auto"},"sFallback":{"type":"string","description":"Text or URL to use as a fallback if the audio cannot be loaded."},"sFigcaption":{"type":"string","description":"A caption or description for the audio."},"sHideDownload":{"type":"boolean","description":"Indicates whether to hide the download option for the audio.","default":false}},"required":["sSrc"],"additionalProperties":true},"video":{"description":"Configuration for a video media object.","type":"object","properties":{"sWidth":{"type":"string","description":"The width of the video (e.g., '800px' or '100%').","example":"800px"},"sHeight":{"type":"string","description":"The height of the video (e.g., '450px').","example":"450px"},"sSrc":{"type":"string","format":"uri","description":"The source URL for the video file."},"sSrcAlt":{"type":"string","format":"uri","description":"An alternate source URL for the video file."},"sPoster":{"type":"string","format":"uri","description":"The poster image URL shown before the video starts playing."},"sControls":{"type":"boolean","description":"Determines whether video controls should be displayed.","default":true},"sLoop":{"type":"boolean","description":"Determines whether the video should loop.","default":false},"sAutoplay":{"type":"boolean","description":"Determines whether the video should autoplay.","default":false},"sMuted":{"type":"boolean","description":"Determines whether the video should be muted by default.","default":false},"sPreload":{"type":"string","enum":["none","metadata","auto"],"description":"Indicates whether the video file should be preloaded.","default":"auto"},"sFallback":{"type":"string","description":"Fallback content (text or URL) in case the video fails to play."},"sFigcaption":{"type":"string","description":"A caption or description associated with the video."},"sHideDownload":{"type":"boolean","description":"Indicates whether to hide the download option for the video.","default":false}},"required":["sSrc"],"additionalProperties":true}},"additionalProperties":false}},"required":["name","ftype","sMediaType"],"additionalProperties":true},"frecordav":{"description":"A control that allows users to record live audio, video, or both. It offers configuration options to set the maximum recording duration (in seconds) and includes features to preview the recorded video and audio before submission.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"frecordav"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"},"to_record":{"description":"Specifies the configuration for recording media. The value 'audio' indicates that only sound will be recorded. 'video' indicates that only visual content (images) will be captured, while 'audio-video' means that both audio and visual content will be recorded simultaneously.","type":"string","enum":["audio","video","audio-video"],"default":"audio-video","examples":["audio","video","audio-video"]},"max_time":{"description":"Specifies the maximum allowed duration for a recorded audio or video clip, measured in seconds. This property is defined as an integer representing the total number of seconds a recording can last. For instance, a value of 300 means the recording will automatically stop after 5 minutes.","type":"integer","minimum":1,"default":300},"beep":{"description":"Indicates whether the control should play a beep sound as an audible notification when the recording time expires. A value of true triggers the beep alert at the end of the recording period, providing a clear signal to the user. A value of false means no sound notification will be played.","type":"boolean","default":false},"preview":{"description":"Specifies whether a media control should be included that allows the user to preview the recorded audio or video. When set to true, the interface will display a player or relevant control to review the content after recording. When false, no preview functionality will be available.","type":"boolean","default":false},"video_width":{"description":"Specifies the width, in pixels, of the preview control for displaying video content. This property is applicable only when the 'to_record' property is set to either 'video' or 'audio-video' and the 'preview' option is enabled. Adjusting this value customizes the visual size of the media preview area within the interface.","type":"number","default":320,"minimum":1},"video_height":{"description":"Specifies the height, in pixels, of the media preview control for displaying video content. This property is only applicable when the 'to_record' property is either 'video' or 'audio-video' and the 'preview' functionality is enabled. Adjusting this value changes the vertical size of the preview area, ensuring the display meets the interface design requirements.","type":"number","default":240,"minimum":1},"record_label":{"description":"Defines the custom text displayed on the button that initiates the recording process. This label helps users clearly understand the action they are about to take. Customize this text, such as 'Record', 'Start Recording', or 'Begin Recording', to best match the design and language of your application.","type":"string","default":"Record","examples":["Record","Start Recording","Begin Recording"]},"stop_label":{"description":"Specifies the text displayed on the button that stops the recording process. This label is an important element of the user interface, providing clear communication that activating the button will terminate the current recording session. Customize this text, using values like 'Stop', 'End Recording', or 'Terminate Recording', to align with your application's design language and user expectations.","type":"string","default":"Stop","examples":["Stop","End Recording","Terminate Recording"]},"status_message":{"description":"Specifies the text message displayed to the user when the recording process has completed. This message confirms that the recording has ended and that the file or data has been saved. Customize this message to suit the tone and language requirements of your application.","type":"string","default":"Recording saved","examples":["Recording saved","Your recording is complete","Recording successfully ended"]}},"required":["name","ftype","title"],"additionalProperties":true},"fButton":{"description":"A versatile button control that can be configured as a submit button, a reset button, a general-purpose action trigger, a print button for printing the form, or a calculate equations button that evaluates JavaScript code defined in its 'eq' property to compute field values. Additionally, it includes two properties for custom JavaScript code execution tied to the onmousedown and onclick events, enabling granular control over its behavior.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fButton"},"userhelp":{"description":"This string property provides additional help text for the field, offering clarity or guidance. The text can be displayed as a tooltip or inline message to assist users in understanding the field's purpose.","type":"string","example":"A description of the section goes here."},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"sType":{"description":"Specifies the action that the button will perform when clicked. The available options are: 'calculate' - triggers code defined in the 'eq' property for fields with the 'ftype' of 'fCalculated'; 'print' - prints the form; 'reset' - resets the form to its initial state; 'submit' - submits the form; and 'button' - a general purpose button for custom actions.","type":"string","enum":["calculate","button","print","submit","reset"],"default":"button","examples":["calculate","print","reset","submit","button"]},"sValue":{"description":"Specifies the text displayed on the button. This text serves as a label, guiding the user on the action associated with the button. Customize this value to match the functional context and branding of your application.","type":"string","default":"Click Me","examples":["Record","Submit","Cancel","Reset"]},"sOnclick":{"description":"Specifies the JavaScript code to be executed when the button is clicked. This code runs in the button's onclick event handler, enabling custom interactions and behaviors during runtime. Use this property to implement additional functionality such as form validation, user notifications, or debugging actions. Ensure that the code is secure and well-tested to avoid runtime errors.","type":"string","default":"","examples":["alert('Button clicked');","console.log('Button activated');","if(VALIDFORM()) { fbuilderjQuery(this.form).submit(); }"]},"sOnmousedown":{"description":"Specifies the JavaScript code to be executed when the button's onmousedown event is triggered. This event fires when the mouse button is pressed down on the button, allowing you to implement custom interactions such as visual feedback, style changes, or pre-action validations. Ensure that the provided code is secure, well-tested, and compatible across different browsers.","type":"string","default":"","examples":["console.log('Mouse button pressed');","applyActiveStyle();","if (VALIDFIELD('fieldname1')) { EVALEQUATION('fieldname2'); }"]},"sLoading":{"description":"Determines whether to show a loading animation when the button with 'sType' set to 'calculate' is pressed. Enabling this option (true) provides users with visual feedback that the calculation is in progress, which can enhance the perceived responsiveness of the interface. Set to false to disable this visual indicator.","type":"boolean","default":false},"sMultipage":{"description":"Specifies whether all pages of a multi-page form should be printed when the button with 'sType' set to 'print' is pressed. When enabled (true), the print command will process and include every page of the form; when disabled (false), only the visible or a single page may be printed.","type":"boolean","default":false}},"required":["name","ftype","sType"],"additionalProperties":true},"fhtml":{"description":"A control that renders and displays general HTML content within the form. It employs built-in HTML sanitization routines to ensure that the content is secure and free from potential XSS vulnerabilities. For advanced customization, enabling the 'allowscript' property allows developers to embed <script> blocks within the HTML. This feature facilitates the implementation of custom functions (callable from other fields' 'eq' properties), the definition of global JavaScript variables, and enhanced control over form behavior.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fhtml"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"allowscript":{"description":"Determines whether the field content ('fcontent' property) accepts embedded <script></script> blocks. When set to true, the field can include JavaScript code for dynamic behavior; however, this may introduce security risks if the code is not properly sanitized. When set to false, any <script> blocks will be filtered or escaped to prevent execution, enhancing protection against potential cross-site scripting vulnerabilities.","type":"boolean","default":true},"fcontent":{"description":"Specifies custom HTML code that can be used to structure or display form data. If the 'allowscript' option is enabled, this content may include <script> blocks that define JavaScript functions, which can be called from the 'eq' code in calculated fields (fields with 'ftype' set to 'fCalculated'). Additionally, any HTML element with a 'data-cff-field' attribute will dynamically display the value of the corresponding form field.","type":"string","default":"","examples":["<script>function sum_two_numbers(a, b) { return a + b; }</script>","<div data-cff-field='fieldname123'></div>"]}},"required":["name","ftype","fcontent","allowscript"],"additionalProperties":true},"facceptance":{"description":"A single, required checkbox control for GDPR acceptance. It displays the terms regarding the use of collected information and requires the user to tick the checkbox before submitting the form.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"facceptance"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"value":{"description":"Specifies the text value associated with the checkbox control used for accepting GDPR (General Data Protection Regulation) terms. This value, such as 'I accept', signifies that the user has provided their consent for data processing according to GDPR guidelines. Customize this text to align with your application's tone and regulatory communication needs.","type":"string","default":"I accept","examples":["I accept"]},"url":{"description":"Specifies the URL of the page that contains the GDPR (General Data Protection Regulation) information or terms of use. This URL should direct users to a detailed legal or policy page outlining data privacy rules and conditions of use. Ensure that the URL is accurate and accessible.","type":"string","format":"uri","default":"","examples":["https://example.com/terms"]},"message":{"description":"Specifies the text containing the GDPR or terms of use information to be displayed directly within the interface. This property serves as an alternative to the 'url' property. When provided, the message will be rendered on the form, allowing users to read the legal terms without navigating to an external page. Customize this text to align with your application's tone and legal requirements.","type":"string","default":""},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true (default), the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false, the field is optional and can be left blank without preventing form submission.","type":"boolean","default":true},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"onoff":{"description":"This boolean property specifies the display style for checkbox control. When set to true, the field renders as on/off switch; when set to false (default), standard HTML checkbox is used.","type":"boolean","default":false}},"required":["name","ftype","title"],"additionalProperties":true},"fqrcode":{"description":"A control to capture QR codes or barcodes. It provides multiple input methods: a single-line text field for direct manual code entry, a scanning component that uses the device camera to capture codes in real time, and a file-picker component for selecting an image containing a QR code or barcode. This versatile control supports various workflows, ensuring users can input code data using the method that best fits their context.","type":"object","properties":{"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fqrcode"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Field main label","type":"string","default":""},"predefined":{"description":"Specifies the initial value that will be pre-populated in the form field when the form loads. This default value appears before any user interaction and can be overwritten by user input. If left as an empty string, the field will be initially blank. The predefined value serves as both a starting point for user input and can function as a placeholder or example of expected data format.","type":"string","default":""},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"readonly":{"description":"Determines whether the field is read-only. If set to true, the field is non-editable and cannot be modified by the user. If set to false (default), the field is editable.","type":"boolean","default":false},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"}},"required":["name","ftype","title"],"additionalProperties":true},"fCalculated":{"description":"A single-line text input field with built-in calculation capabilities. Its primary function is to compute and display an output based on information entered in other form fields. The value is determined by JavaScript code provided through its 'eq' property, which can execute dynamically or be triggered by a button press. Additionally, the field can be configured to allow manual input, giving users the option to override the computed result if needed.","type":"object","properties":{"dependencies":{"description":"Defines dependency rules for the field. Each item in this array is an object with two properties: 'rule' and 'fields'. The 'rule' is a JavaScript expression that compares the variable 'value' (derived from the 'eq' property code) against a specified value. If the condition specified in 'rule' evaluates to false, the fields listed in 'fields' are hidden, excluded from form submission, and treated as inactive (i.e., considered zero or empty in calculated expressions).","type":"array","default":[],"items":{"description":"An object representing a dependency for dynamic form behavior. It consists of a 'rule' property and a 'fields' property. The 'rule' is a JavaScript comparison expression that evaluates the variable 'value' (the result from the 'eq' property) against a benchmark. If this evaluation returns false, the dependent fields specified in the 'fields' array are hidden, not submitted, and deactivated in any calculations.","type":"object","properties":{"rule":{"description":"A JavaScript expression that compares the variable 'value' (generated from the 'eq' property) to a target value. If this condition returns false, the fields specified in the 'fields' property will be hidden, omitted from form submission, and treated as inactive (e.g., default to zero or empty) in any calculations.","type":"string","default":"","examples":["value==3","5<=value && value<=10","String(value).indexOf('text')!=-1"]},"fields":{"description":"An array of field names (as strings) that are affected by the dependency rule defined in 'rule'. If the 'rule' evaluates to false, these fields will be hidden, excluded from form submission, and treated as inactive in calculations. Note: The names provided here must not include the current field, any field used in the 'eq' calculation, or a container field (such as 'fdiv', 'ffieldset', or 'fpopup') that houses the current field.","type":"array","default":[],"items":{"type":"string"},"examples":["fieldname1","fieldname2"]}}}},"name":{"description":"Object identifier, it must be unique and must have the format 'fieldname' followed by a positive number","type":"string","pattern":"^fieldname[1-9][0-9]*$"},"fieldlayout":{"description":"Configure the position of the main field label and user interaction control. It takes precedence over the 'formLayout' property in the general form settings but in the current field context.","type":"string","enum":["default","top_aligned","left_aligned","right_aligned"],"default":"default"},"shortlabel":{"description":"Very short text that describes the field","type":"string","example":"Name"},"ftype":{"description":"Control type, each control has a type assigned","type":"string","const":"fCalculated"},"userhelp":{"description":"Field description. Text intended to provide guidance or instructions to the user on how to populate the corresponding form field. This help text can be displayed as a tooltip or inline message.","type":"string","example":"Enter your email address in the format user@example.com"},"userhelpTooltip":{"description":"Configure if the text in the 'userhelp' attribute is displayed inline or as tooltip. If the the property value is true the 'userhelp' message will be displayed as tooltip.","type":"boolean","default":false},"tooltipIcon":{"description":"If set to true and the 'userhelpTooltip' property is also true, a dedicated tooltip icon will be displayed. When the user hovers over this icon, the 'userhelp' text is shown as a tooltip. If set to false, no icon is included; however, if 'userhelpTooltip' is true, the 'userhelp' text will still appear as a tooltip on mouseover of the field itself.","type":"boolean","default":false},"csslayout":{"description":"CSS class names separated by space characters","type":"string","pattern":"^[a-zA-Z0-9-_ ]+$"},"hidefield":{"description":"Determines whether the field is hidden or visible. If set to true, the field will be hidden, and visible if the property value is false.","type":"boolean","default":false},"advanced":{"description":"An object containing advanced field properties, such as CSS styling rules for various field components.","type":"object","properties":{"css":{"description":"An object defining CSS rules to customize the appearance of different field components.","type":"object","properties":{"container":{"description":"An object containing CSS rules to style the container (DIV) that holds the field components.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"label":{"description":"An object containing CSS rules to customize the appearance of the field's main label.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"input":{"description":"An object containing CSS rules to style the input component of the field.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}},"help":{"description":"An object containing CSS rules to customize the appearance of user instruction text.","type":"object","properties":{"rules":{"description":"Key-value pairs representing CSS property names and their corresponding values.","type":"object"}}}}}}},"title":{"description":"Popup header text","type":"string","default":""},"predefined":{"description":"Specifies the initial value that will be pre-populated in the form field when the form loads. This default value appears before any user interaction or the evaluation of the 'eq' property code and can be overwritten by user input or the 'eq' code evaluation. If left as an empty string, the field will be initially blank. The predefined value serves as both a starting point for user input and can function as a placeholder or example of expected data format.","type":"string","default":""},"required":{"description":"Controls whether the field is required or optional for form submission. If set to true, the field must contain a non-empty value for the form to be submitted successfully, and validation errors will be displayed if submission is attempted with an empty value. If set to false (default), the field is optional and can be left blank without preventing form submission.","type":"boolean","default":false},"exclude":{"description":"Determines whether the field should be excluded from form submission. If set to true, the field will not be sent to the server when the form is submitted. If set to false (default), the field will be included in the submission.","type":"boolean","default":false},"accept_html":{"description":"Determines whether the field accepts HTML tags in its value. If set to true, the field will accept HTML tags. If set to false (default), the server will remove all HTML tags from the submitted field value. Regardless of this setting, the field value will always be sanitized to eliminate any potential XSS vulnerabilities.","type":"boolean","default":false},"size":{"description":"Determines the field width relative to its parent container. The 'small' option sets the field width to 25% of its parent element, 'medium' sets it to 50%, and 'large' sets it to 100%.","type":"string","enum":["small","medium","large"],"default":"large"},"eq":{"title":"Calculated Field Expression","description":"Represents a JavaScript expression used to dynamically compute the value of a calculated field. This expression is automatically re-evaluated whenever a relevant event occurs, such as 'onchange' or 'keyup' on a referenced field, or when a calculation button is pressed. The expression can be a simple arithmetic operation (e.g., 'fieldname1 + fieldname2') or a more complex function that applies JavaScript logic to determine the output. For example, consider the following self-invoking function: (function() { if (!(fieldname1 === 0 && fieldname2 === 0)) { return Math.pow(fieldname1, fieldname2); } else { return ''; } })(); \n\nImportant Notes:\n- The expression must reference only existing field names (e.g., 'fieldname1') and cannot reference its own field name to prevent recursive calculations.\n- Field names may include suffixes for special behavior:\n  - '|r': Accesses the raw field value without preprocessing (e.g., 'fieldname1|r').\n  - '|n': Retrieves the field name instead of its current value (e.g., 'fieldname1|n').\n- These suffix-based field references are recognized by the system, even if they do not conform to typical constant naming conventions.\n- When working with date fields, always use the '|r' suffix to obtain the field's value in date format: const d = new Date(fieldname1|r);","type":"string","default":"","examples":["fieldname1 + fieldname2","(function(){ if (!(fieldname1 === 0 && fieldname2 === 0)) { return Math.pow(fieldname1, fieldname2); } else { return ''; } })()"]},"min":{"description":"Specifies the minimum number accepted for the field value. If the entered value is less than this minimum, validation will fail and the form will not be submitted.","type":"number"},"max":{"description":"Specifies the maximum accepted value for the field. If the entered value exceeds this maximum, validation fails and the form will not be submitted. By default, no maximum restriction is applied.","type":"number"},"suffix":{"description":"Specifies the symbol or text to append to field values. This is typically used for unit measurement indicators (e.g., 'Kg') that appear after the numeric value.","type":"string","default":""},"prefix":{"description":"Specifies the symbol to display before field values. This is typically used for things like currency symbols (e.g., '$').","type":"string","default":""},"decimalSymbol":{"description":"Specifies the symbol that separates the integer part from the decimal fraction in numeric field values. For example, if set to '.', a value like 123.45 will be correctly formatted.","type":"string","default":".","example":"."},"groupingsymbol":{"description":"Defines the symbol used to divide digits into groups of thousands in numeric field values. For example, if set to ',', the number 1000000 will be displayed as '1,000,000'.","type":"string","default":"","example":","},"readonly":{"description":"Determines whether the field is read-only. If set to true (default), the field is non-editable and cannot be modified by the user. If set to false, the field is editable.","type":"boolean","default":true},"currency":{"title":"Currency Format Flag","description":"Indicates whether the result of evaluating the 'eq' property should be treated as a currency. When set to true, the value will be formatted as a currency by enforcing a maximum of two decimal places. This helps standardize the display of monetary values within the form regardless of the raw calculation output.","type":"boolean","default":false,"examples":[true,false]},"noEvalIfManual":{"title":"Disable Evaluation on Manual Entry","description":"Determines whether the custom calculation code specified in the 'eq' property should be bypassed when the user manually inputs a value into the current field. When set to true (the default), once a user enters a manual value, subsequent events (such as onchange, keyup, or a calculate button press) will not trigger reevaluation of the 'eq' expression. This ensures that manual input is preserved over any automatic recalculation. Set to false if you want manual input to be overwritten by subsequent evaluations based on changes in dependent fields.","type":"boolean","default":true,"examples":[true,false]},"formatDynamically":{"description":"Determines whether the field value should be dynamically formatted as the user manually enters it. When enabled, the formatting automatically adds the 'prefix' property value at the beginning and a 'suffix' property value at the end, groups digits into thousands, applies the specified decimal symbol, and, if the 'currency' property is true, formats the value as currency.","type":"boolean","default":false},"dynamicEval":{"title":"Dynamic Evaluation Toggle","description":"Determines whether the JavaScript code specified in the 'eq' property should be automatically reevaluated whenever any referenced operand (i.e., other field names such as 'fieldname1') triggers an onchange or keyup event. When set to true (default), the 'eq' code is dynamically reevaluated each time its operands emit these events. If set to false, the code will be executed only when the calculate button is pressed, allowing manual control over the evaluation process.","type":"boolean","default":true,"examples":[true,false]},"validate":{"title":"Field Validation Trigger","description":"Determines whether the current field's value is validated each time the calculation code defined in the 'eq' property is executed. The output of the 'eq' code serves as the value of the current field. When enabled (true), this triggers the validation process on every evaluation to ensure that the computed value meets the configured criteria (such as being required, or falling within specified min/max limits). If the criteria are not met, an error message is displayed. When disabled (false), the field's value is updated without performing these validations during recalculation.","type":"boolean","default":false,"examples":[true,false]}},"required":["name","ftype","eq","title"],"additionalProperties":true}}}