Conditional statements
Overview
Conditional statements examine specified criteria, and act in one way if the criteria are met, or in another way if the criteria are not met.
The criteria is mandatory for all conditional statements except the "else" conditional statement. The "else" conditional statement does not accept any criteria.
The following are the variants of conditional statements:
- if
Validates given criterion and performs specified actions if the criterion is met. The "If" conditional statement can be followed by "else if" and "else" conditional statements(not mandatory). If the criterion is not met, the actions are skipped, and the program moves on to the next task.
- else if
The "else if" conditional statement is always preceded by an "if" conditional statement. It executes given statements when the preceding "if" conditional statement fails and the "else if" criterion is met. If the "else if" criterion is also not met, the actions are skipped, and the program moves on to the next task.
- else
The "else" conditional statement is always preceded by an "if" or an "else if" conditional statement. It executes given statements when the preceding "if" and "else if" conditional statements fail. The "else" statement, if present, must always be the last in a set of conditional statements, i.e, it must not be followed by the "if" or the "else if" condition in that set of statements.
- conditional if.
The "conditional if" statement takes two values, and returns the first value if the specified criterion is met, or returns the second value if the criterion is not met.
- if null.
The "ifNull" statement takes two expressions. It evaluates expression1 for null values. If expression1 resolves to null, it returns expression2. If expression1 does not resolve to null, it returns expression1.
As mentioned above, the first three condition statements can be used in association with each other, as demonstrated below:
- A conditional statement with single criterion and single action - The following deluge script contains a single "if" conditional statement. It can be used when there is a need to specify only one criterion. If the criterion is met, the given actions are executed, else the actions are skipped.if(<criteria>)
{
<actions>
} - Conditional statements with a single criterion and two actions - The following deluge script contains two conditional statements. It can be used when there is a need to perform two different actions based on whether a criterion is met or not. If the criterion is met, the first set of actions are executed, else the second set of actions are executed.if(<criteria>)
{
<actions>
}
else
{
<actions>
} - Conditional statements with two criteria and two actions - The following deluge script contains two conditional statements. It can be used when there is a need to perform two different actions based on whether specified criteria are met or not. If the first criterion is met, the first set of actions are executed, or if the second criterion is met, the second set of actions are executed. If both the criteria are not met, both the actions are skipped.if(<criteria>)
{
<actions>
}
else if(<criteria>)
{
<actions>
} - Conditional statements with multiple criteria and multiple actions - The following deluge script contains multiple conditional statements. It can be used when there is a need to perform different actions based on whether the various set of criteria are met or not. The actions are executed for the criterion which is met. If no criteria are met, the "else" actions are executed. If no "else" actions are specified, all the actions are skipped.if(<criteria>)
{
<actions>
}
else if(<criteria>)
{
<actions>
}
else if(<criteria>)
{
<actions>
}
else
{
<actions>
}(or)
if(<criteria>)
{
<actions>
}
else if(<criteria>)
{
<actions>
}
else if(<criteria>)
{
<actions>
}
else if(<criteria>)
{
<actions>
} - Conditional statements evaluating null - The following deluge script contains two conditional statements. It can be used when there is a need to perform two different actions based on whether specified criteria are met or not. If the first criterion is met, the first set of actions are executed, or if the second criterion is met, the second set of actions are executed. If both the criteria are not met, both the actions are skipped.<variable> = ifNull(<expression1>, <expression2>);
Syntax
if statement:
{
<actions>
}
else if statement:
{
<actions>
}
else if (criteria)
{
<actions>
}
else statement:
{
<actions>
}
else
{
<actions>
}
ifNull statement:
Param | Explanation |
---|---|
<criteria> | Criteria based on which the actions will be executed. |
<actions> | Action(s) to be executed when specified criteria are met. You can also use deluge tasks here. |
<variable> | Variable holding the returned value. |
<success_value> | The value specified here will be returned if the criterion is met. You can directly specify a value, or you can also specify an expression, i.e. a combination of values, constants, variables, operators, functions and so on, which evaluates to a value. You can also specify any statements that return a value, for example - another conditional statement. |
<failure_value> | The value specified here will be returned if the criterion is not met. You can directly specify a value, or you can also specify an expression, i.e. a combination of values, constants, variables, operators, functions and so on, which evaluates to a value. You can also specify any statements that return a value, for example - another conditional statement. |
In Zoho Creator, this task can be used in the following events
When a record is Created | ||
On Load | Yes | |
On Validate | Yes | |
On Success | Yes | |
On User input | Yes | |
Subform on add row | Yes | |
Subform on delete row | Yes | |
When a record is Created or Edited | ||
On Load | Yes | |
On Validate | Yes | |
On Success | Yes | |
On User input | Yes | |
Subform on add row | Yes | |
Subform on delete row | Yes | |
When a record is Edited | ||
On Load | Yes | |
On Validate | Yes | |
On Success | Yes | |
On User input | Yes | |
Subform on add row | Yes | |
Subform on delete row | Yes | |
When a record is Deleted | ||
On Validate | Yes | |
On Success | Yes | |
Other workflow events | ||
On a scheduled date | Yes | |
During approval process | Yes | |
During payment process | Yes | |
In a Custom Function | Yes | |
In an Action item in report | Yes |
Examples
1. The following sample sinppet uses the conditional statements to display a relevant message.
{
info "Today is a Holiday";
}
else if(zoho.currentDate.weekday()==6)
{
info "Today is a half working day";
}
else
{
info "Today is a working day";
}
2. The following sample snippet uses the conditional statement to check if a specified book is available or yet to arrive. Books and OrderedBooks are form names, BookName and Book_Name are fields in those forms.
bookRecords= Books[ BookName == inputBook ];
yetToArrive=OrderedBooks[Book_Name==inputBook];
if(bookRecords.count()>0)
{
info inputBook +" is present";
}
else if(yetToArrive.count() > 0)
{
info inputBook + "is yet to arrive";
}
3. The following sample snippet alerts the user to check the Accept_Agreement decision box before submitting the form in Zoho Creator.
{
alert "Please Accept the agreement and press submit";
cancel submit;
}
4. The following snippet reads the tenth element in the nameList. If the name is not null, it returns the name. If the name is null, it returns the text, "Not found".
This is equivalent to writing like the below.
{
name = "Not Found";
}
else
{
name = nameList.get(10);
}