Check out the LimeSurvey source code on GitHub!

Relevance with nested conditions

More
3 years 4 months ago - 3 years 4 months ago #99865 by nfuria
I have a question that must appears only when some nested conditions are satisfied.
The equation I need is:
(s1.NAOK == "N") or
(s1.NAOK == "Y" and (
( s2>1 && sum(that.s72) == s2) or
( s2>0 && count(s71) > 0)
)
)
But this doesn't works.
Even a simplified version fails but runs in a unexpected way:
(s1.NAOK == "N") or (s1.NAOK == "Y") :: runs ok
(s1.NAOK == "N") or (s1.NAOK == "Y" && s2>0) :: only 2nd condition works

Are there some problem with the use of "and" or "or"?

These conditions are already used in some more validations without problems.
Last Edit: 3 years 4 months ago by nfuria. Reason: complement

Please Log in to join the conversation.

More
3 years 4 months ago #99876 by tpartner
Try replacing "&&" with"AND". I have encountered intermittent problems when using ampersands.

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

More
3 years 4 months ago #99884 by nfuria
I tried all the combinations possible, using &&, AND, ||, OR.
None works.

I think I can use javascript but I don't know how to verify the answer of a previous question.

Please Log in to join the conversation.

More
3 years 3 months ago #100374 by nfuria
Solved. As some questions could be hidden, it's necessary to use the "NAOK" suffix.
The correct equation becomes:
(s1 == "N") or
(s1 == "Y" and (
( s2.NAOK>1 && sum(that.s72.NAOK) == s2.NAOK) or
( s2.NAOK>0 && count(s71.NAOK) > 0)
)
)

Please Log in to join the conversation.

Imprint                   Privacy policy         General Terms & Conditions         Revocation information and revocation form