Hi,
When you use Ultimate Forms, conditions are everywhere. Many components use conditions to determine when an alert needs to be sent when an action needs to run or what columns to show on a form. Conditions are a great way of pinpointing the exact cases when the component should run, giving you precise control over your solution.
Here are some of the fantastic features that make conditions in Ultimate Forms so useful:
Validation
We will check the value you enter in a condition and make sure it's valid both in terms of syntax and expected data type. For example, when you miss a bracket, your syntax is invalid. And when you try to compare a number field to a date value, there is a data type mismatch. Note that you can compare text columns to any value, it will simply be automatically converted to text. Yes/no columns should be compared to the textual representation of yes/no in your language (for instance, yes, yeah, sure, approved, true, 1 and so on), signature columns behave just as yes/no. Using our Value Builder you don't need to memorize anything, both column names and functions are available for you to just double-click and use.
Functions
You can compare column values to typed-in values or to values of other columns, but the real power comes with the use of functions. Functions allow you to manipulate values and even perform calculations, based on your own logic. For example, use $Year to return the year part of a date or use $Extract to return a part of text according to a pattern. There is a wide selection of functions available. You can even combine multiple functions together!
After Change Conditions
Sometimes it's worth knowing not only what is the current value of a column, but also what was the previous value. For example, you only want to send an alert about a request being approved when the approval status changes to Approved. The item might get updated again in the future, while still approved, but we don't want to send any more alerts. That's when you use our "after change" condition property to make sure the condition is only passed when the column's current value satisfies the condition and the previous value does not. It's also a great way of determining if a column has been changed at all.
Data Type-specific Operators
Depending on the data type of the column involved you will see a different set of operators. For example, text columns will show operators such as Equals or Contains, while number columns will show such operators as Greater than or Less than. The correct set of operators is presented automatically.
Conjunctions
Combining multiple conditions together you create even more sophisticated solutions. You are able to combine using either And or Or. We use a simple, yet effective system, where the current conditions is evaluated in conjunction with the result of all previous conditions. This allows you to develop complex logic without the need for parenthesis.
Internal Column Names
Conditions are stored using internal column names. These names are assigned when a column is the first creator and do not change when you rename a column or display your site in a different language. Nevertheless, when editing conditions, you always see the display names of the columns, exactly as you know them. Rename a column, and the conditions keep working without any need for updates.
In summary, conditions help make your solution smarter, use them whenever you can and explore their power to the fullest.