I have a form with a Smart Multi-Select field configured. I want to show or hide another field based on the user selection in this field.
First Form
Has the following field
USER_SEL_TOOLS (Smart Multi-Select field)
Second Form
Has the following fields
TOOL_NAME (Text field)
TOOL_ATTRIBUTES (Multi-Select field)
example record
| TOOL_NAME | TOOL_ATTRIBUTES |
| hammer | wood, metal |
I want to build a conditional statement for a Confiforms Rules for Field Definition that looks to see if the user selected "hammer" and if "hammer" has the attribute "wood" selected. If this is true, then perform action.
I can get the select values from TOOL_ATTRIBUTES:
[entry.USER_SEL_TOOLS.TOOL_ATTRIBUTES.getOptions]
Returns "wood metal" when testing by setting the value of a text field. However, I can't seem to get the CONDITION to evaluate and the action to execute:
[entry.USER_SEL_TOOLS.TOOL_ATTRIBUTES.getOptions]:*wood*
Hi
The better option would to use hasValue function - https://wiki.vertuna.com/display/CONFIFORMS/Virtual+functions
TOOL_NAME.TOOL_ATTRIBUTES.transform(label).hasValue(wood):true
As your condition might give a false positives if "TOOL_ATTRIBUTES" is for example "wooden", but you wanted to check strictly against the "wood"
Alex
I set condition to the following and that worked:
TOOL_NAME.TOOL_ATTRIBUTES.transform(label):*wood*
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.