The Atlassian Community Forums are currently in read-only mode. We will be relaunching on a new platform on September 22 (read more here). We apologize for the extended downtime. For concerns or questions, please email communitymanagers@atlassian.com. See you on the other side, on the new Atlassian Community Forums! :)

×

Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

ConfiForms Multi Select Field & Filter Not Working as Necessary

Rayman Bacchus
Contributor
April 4, 2024

I currently have a MULTI-SELCT dropdown field with 6 options

 

01

Prevent

02

Detect

03

Response

04

Performance

05

CIAM

06

Integration

 

I then have show fields filter based on the id's above

 

Show certain fields if 01, 02, 03, 04, 06 are selected

Show other fields if 05 is selected

 

The issue I have is that if I choose option 02 first then 06 all fields show as required

However, if I select 06 first THEN 02 the required fields for option 02 are not showing up.

 

See the screen shots below:

 

Shows Correct

 

Option 2 is selected and the fields show as required

 iMAGE001.png

 

Options 2 and 6 are selected and the fields show as required

 Image002.png

 

Options 6 then 2 are selected but the fields do not show up

 Image003.png

 

I am using the  Filter: Option.id.hasValue(01):true OR Option.id.hasValue(02):true OR Option.id.hasValue(03):true OR Option.id.hasValue(04):true OR Option.id.hasValue(06):true

 

1 answer

1 accepted

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

0 votes
Answer accepted
Alex Medved _ConfiForms_
Community Champion
April 4, 2024

Hi @Rayman Bacchus 

Reading your requirements I think the correct filtering expression would be

!Option:05

Alex

Rayman Bacchus
Contributor
April 4, 2024

That didn't work.  My filter works if you select option 2 then option 5 everything works as expect and the fields show as required. 

If you select option 5 first then option 2 the fields do not show up

 

Alex Medved _ConfiForms_
Community Champion
April 4, 2024

Not sure I understand... 

I have suggested my solution to handle this

Show certain fields if 01, 02, 03, 04, 06 are selected

Show other fields if 05 is selected

Alex

Alex Medved _ConfiForms_
Community Champion
April 4, 2024

BTW, this makes no sense

Option.id.hasValue(01):true

You can ask the multi-select field (Option) to have a value, not the ID

Option.hasValue(01):true 
Rayman Bacchus
Contributor
April 4, 2024

The issue is if all 6 options are selected not all fields show up. 

 

So if I select options 1, 2, 3, 4, 5, 6 in that order all fields show up but if I select option 5 first then option 1, 2, 3, 4 and 6 some fields are still missing.  I'll remove the id in the filter and see if that works.

 

Alex Medved _ConfiForms_
Community Champion
April 4, 2024

Sounds like you are having conflicting rules - do you use 'reverse rule' option in the rules macro? 

Rayman Bacchus
Contributor
April 4, 2024

Thanks. I was thinking that it had to be my rules just not sure what or where it is conflicting.  I don't have reverse rule option applied but I will review and try that. 

 

Alex Medved _ConfiForms_
Community Champion
April 4, 2024

If you can use the storage format then I can share some working logic for this scenario (as much as I understand it)

 

<ac:structured-macro ac:macro-id="5eab593d-2812-4ee3-93b7-3d164dc17a42" ac:name="confiform" ac:schema-version="1">
<ac:parameter ac:name="formName">form</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="944adc99-e4b9-4d20-aa0c-ea491a2337c5" ac:name="confiform-entry-register" ac:schema-version="1">
<ac:parameter ac:name="formName">form</ac:parameter>
<ac:parameter ac:name="type">Embedded</ac:parameter>
<ac:rich-text-body>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p>
<ac:structured-macro ac:macro-id="180e25a8-6c5e-4f5f-adfc-e7c0ac83b6d1" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">Option</ac:parameter>
<ac:parameter ac:name="fieldLabel">Option</ac:parameter>
<ac:parameter ac:name="values">false[01=Prevent|02=Detect|03=Response|04=Performance|05=CIAM|06=Integration|]</ac:parameter>
<ac:parameter ac:name="type">multi</ac:parameter>
</ac:structured-macro>
</p>
<p>
<ac:structured-macro ac:macro-id="14ea97fa-8122-4dc6-b94e-c3344304d1d0" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">field1</ac:parameter>
<ac:parameter ac:name="fieldLabel">Field1</ac:parameter>
<ac:parameter ac:name="type">text</ac:parameter>
</ac:structured-macro>
</p>
<p>
<ac:structured-macro ac:macro-id="7cd7e9f3-e612-475e-8a40-54bbf3693b54" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">field2</ac:parameter>
<ac:parameter ac:name="fieldLabel">Field2</ac:parameter>
<ac:parameter ac:name="type">text</ac:parameter>
</ac:structured-macro>
</p>
<p>
<ac:structured-macro ac:macro-id="8c35fc01-4103-431d-84ef-7a75b5721321" ac:name="confiform-field-definition" ac:schema-version="1">
<ac:parameter ac:name="fieldName">field3</ac:parameter>
<ac:parameter ac:name="fieldLabel">Field3</ac:parameter>
<ac:parameter ac:name="type">text</ac:parameter>
</ac:structured-macro>
</p>
<p>
<ac:structured-macro ac:macro-id="f0772a22-5e32-49fa-9e65-337a82947e21" ac:name="confiform-field-definition-rules" ac:schema-version="1">
<ac:parameter ac:name="condition">Option:[empty]</ac:parameter>
<ac:parameter ac:name="fieldName">field1,field2,field3</ac:parameter>
<ac:parameter ac:name="action">Hide field</ac:parameter>
<ac:parameter ac:name="actionFieldName">Option</ac:parameter>
</ac:structured-macro>
</p>
<p>
<br/>
</p>
<p>
<ac:structured-macro ac:macro-id="2d3ebb43-f47d-49ba-9d55-d33f39b541dd" ac:name="confiform-field-definition-rules" ac:schema-version="1">
<ac:parameter ac:name="condition">Option:05</ac:parameter>
<ac:parameter ac:name="fieldName">field3</ac:parameter>
<ac:parameter ac:name="action">Show field</ac:parameter>
<ac:parameter ac:name="actionFieldName">Option</ac:parameter>
<ac:parameter ac:name="withReverseRule">true</ac:parameter>
</ac:structured-macro>
</p>
<p>
<br/>
</p>
<p>
<ac:structured-macro ac:macro-id="8cca1c08-2993-4ab6-a660-7cd9b205e7eb" ac:name="confiform-field-definition-rules" ac:schema-version="1">
<ac:parameter ac:name="condition">Option:01 OR Option:02 OR Option:03 OR Option:04 OR Option:06</ac:parameter>
<ac:parameter ac:name="fieldName">field1,field2</ac:parameter>
<ac:parameter ac:name="action">Show field</ac:parameter>
<ac:parameter ac:name="actionFieldName">Option</ac:parameter>
</ac:structured-macro>
</p>
<p>
<ac:structured-macro ac:macro-id="7fdfef3e-6c3f-4f13-86ae-6d1dfe89c0b7" ac:name="confiform-field-definition-rules" ac:schema-version="1">
<ac:parameter ac:name="condition">!Option:01 AND !Option:02 AND !Option:03 AND !Option:04 AND !Option:06</ac:parameter>
<ac:parameter ac:name="fieldName">field1,field2</ac:parameter>
<ac:parameter ac:name="action">Hide field</ac:parameter>
<ac:parameter ac:name="actionFieldName">Option</ac:parameter>
</ac:structured-macro>
</p>
<p>
<br/>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<p>
<br/>
</p>

Hope it helps. Basically 4 rules to solve all possible selections

Alex 

Rayman Bacchus
Contributor
April 5, 2024

I was able to solve this as it was indeed conflicting rules.  Rules can be difficult sometimes to deal with! ;)

I'm all good now and will accept the answer.  Thanks again for all your valuable feedback and insight

 

Like Erik Riedel likes this
TAGS
AUG Leaders

Atlassian Community Events