# Advanced condition editor

{% hint style="info" %}
The editor does not require entering the prefix "**js:"** and will not display it in conditions. The prefix will be appended to the source automatically when changes are saved.
{% endhint %}

## Introduction

The advanced conditions editor is a special editor designed to improve the work of the form designer. It has been equipped with the following features:

* syntax highlighting,
* displaying hints for variable and field names while editing conditions,
* displaying eximee API hints while editing conditions.

<figure><img src="/files/3587494caa82a3fcb060380fbda85bb165f5bbf9" alt=""><figcaption><p><em><strong>Figure 1.</strong> Example conditions in the component properties palette</em></p></figcaption></figure>

## Occurrence locations <a href="#zaawansowanyedytorwarunkow-miejscawystapienia" id="zaawansowanyedytorwarunkow-miejscawystapienia"></a>

Three component attributes in Eximee Designer use this editor. These are:

* visibility condition,
* activity condition,
* required condition.

<figure><img src="/files/45bd570abdc1c122b79740a69e2b4237782cf85e" alt=""><figcaption><p><em><strong>Figure 2.</strong> Advanced conditions editor - editing the visibility condition</em></p></figcaption></figure>

## Syntax hints <a href="#zaawansowanyedytorwarunkow-podpowiadanieskladni" id="zaawansowanyedytorwarunkow-podpowiadanieskladni"></a>

The editor suggests eximee API elements and commonly used JS methods to the user. Editor hints can be seen by clicking the Ctrl + Space key combination. This will expand a list of elements, among which you can see the following:

Standard JS methods and fields:

* parseInt()
* parseFloat()
* .length
* size
* empty

API provided by eximee:

* getValue()
* getData()
* isVisible()
* getStatementValue()

<figure><img src="/files/47690305dcf9adfd6de25ee033e37c1873a87217" alt=""><figcaption><p><em><strong>Figure 3.</strong> Advanced conditions editor - expanded list with syntax hints</em></p></figcaption></figure>

\
Additionally, hints will include component MIDs (with their ID in parentheses) and names of session variables occurring in the form.

<figure><img src="/files/4c5019d79a40152a1647b24bfa1cd4016eca3165" alt=""><figcaption><p><em><strong>Figure 4.</strong> Advanced conditions editor - view of component hints located in the artifact</em></p></figcaption></figure>

<figure><img src="/files/f9de7e14f180fe148e92644db6cdb17fc62260ea" alt=""><figcaption><p><em><strong>Figure 5.</strong> Advanced conditions editor - view of filtered component hints</em></p></figcaption></figure>

## Examples of conditions <a href="#zaawansowanyedytorwarunkow-przykladywarunkow" id="zaawansowanyedytorwarunkow-przykladywarunkow"></a>

```javascript
// integer comparison of a TextField field
parseInt(getValue("GesTextField3"))>5
  
// floating-point comparison of a TextField field
parseFloat(getValue("GesTextField5"))<200.001
  
// comparison of a logical value (equal) of a CheckBox field
getValue("GesCheckbox1")=="true"
 
// comparison of a logical value (different) of a CheckBox field
getValue("GesCheckbox1")!="true"
 
// comparison of a text value of a RadioGroup 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"
 
 
// required condition for a field, if others are empty
!!!(getValue("@GesTextField13")||getValue("@GesTextField8"))
 
 
// checking combobox values
getValue("@GesCombobox1")!=2&&getValue("@GesCombobox1")>0
 
 
// check whether the TextField is visible
isVisible("@GesTextField1")=="true"
 
 
// check whether the number of characters in the TextField is 10
getValue("GesTextField5").length==10

```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.eximee.com/documentation/documentation-en/budowanie-aplikacji/logika-biznesowa/jezyk-wyrazen-definiowania-warunkow-warunki-z-getvalue/zaawansowany-edytor-warunkow.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
