Expression language for defining conditions (conditions with getValue)
Condition writing editor
Conditions in JavaScript format
Conditions within composite components
For conditions written in composite components, variable/field identifiers should be prefixed with the character @ e.g. @GesCombobox1.
It is possible to describe all conditions defined in the application template using expressions of the JavaScript.
JS conditions provide methods:
getValue("COMPONENT_ID") - recommended way to return the value of a component (any other may cause performance issues)
getData("COMPONENT_ID","COMPONENT_ATTRIBUTE") - returns the value of the given component attribute, available attributes can be found here Component attributes
isVisible("COMPONENT_ID") - a way to check whether a component is visible (requires listening, you cannot retrieve the visibility of a radio button or the visibility of elements inside a repeating section from outside the repeating section)
getStatementValue("COMPONENT_ID", "STATEMENT_ID") - allows returning the value of the selected statement for the Statements component.
All field values available during condition evaluation are textual values, therefore for operations on numbers or boolean types, an explicit conversion must be performed.
Examples of conditions in the JavaScript:
// integer comparison of a TextField-type field
parseInt(getValue("GesTextField3"))>5
// floating-point comparison of a TextField-type field
parseFloat(getValue("GesTextField5"))<200.001
// logical value comparison (equal) of a CheckBox-type field
getValue("GesCheckbox1")=="true"
// logical value comparison (not equal) of a CheckBox-type field
getValue("GesCheckbox1")!="true"
// text value comparison of a RadioGroup-type field
getValue("GesRadioGroup1")=="audi"
// check whether a value, e.g. a session variable, is not empty
!!getValue("nazwiskoZew")
// check whether a value, e.g. a session variable, is empty
!getValue("nazwiskoZew")
// check whether the statement with MID oswiadczenie1 in the component with id GesStatementPopup1 has been accepted
getStatementItem("GesStatementPopup1","oswiadczenie1") == "true"
// check whether the statement with MID zdrowotne in the component with id GesStatementFlat5 (located in a composite component) has been accepted
getStatementItem("@GesStatementFlat5","zdrowotne")=="false"
// requiredness condition for a field if others are empty
!!!(getValue("@GesTextField13")||getValue("@GesTextField8"))
// check combobox values
getValue("@GesCombobox1")!=2&&getValue("@GesCombobox1")>0
// check whether TextField is visible
isVisible("@GesTextField1")=="true"
// check whether the number of characters in TextField is 10
getValue("GesTextField5").length==10Identifiers can be used in conditions (id) of all fields available in the application template.
The syntax allows defining:
negation of an expression using the "!" operator at the beginning of the expression
conjunction of expressions with the "&&" operator, e.g. getValue("@GesCombobox1")==1&&getValue("@GesCombobox1")==2
alternative of expressions with the "||" operator, e.g. getValue("@GesCombobox1")==1||getValue("@GesCombobox1")==2
The following types may be used in expressions:
constant values
textual
numeric
binary - true and false
component identifiers e.g. GesTextField1
application variable identifiers, e.g. partner.
Last updated
Was this helpful?
