Here is something I whipped up that should assist you. I just tested it and it operates okay.
I setup Q1 (grid question) and Q2 (select checkbox question) and saved them on the same page. No free format questions necessary here.
Q1 is a row direction grid with 3 rows - Tool A / Tool B / Tool C.
Q2 is a select question with 1 defined code - No tools are beneficial.
I unticked the "Require response" for both Q1 (all rows) and Q2.
I then inserted the following JavaScript into the Q1 "Custom JavaScript Verification" window (click on the Advanced button).
if (SSI_GetValue("Q1_r1")==0 && SSI_GetValue("Q1_r2")==0 && SSI_GetValue("Q1_r3")==0 && SSI_GetValue("Q2_1")==0)
{
var strErrorMessage="You must answer the question.";
}
else if ((SSI_GetValue("Q1_r1")>0 || SSI_GetValue("Q1_r2")>0 || SSI_GetValue("Q1_r3")>0) && SSI_GetValue("Q2_1")==1)
{
var strErrorMessage="You must either rate each tool or select the checkbox.";
}
else if (SSI_GetValue("Q2_1")==0)
{
var count=0;
if (SSI_GetValue("Q1_r1")>0)
{
var count=count+1;
}
if (SSI_GetValue("Q1_r2")>0)
{
var count=count+1;
}
if (SSI_GetValue("Q1_r3")>0)
{
var count=count+1;
}
if (count<3)
{
var strErrorMessage="You must rate all tools if you are not selecting the checkbox.";
}
}
I have performed 3 checks ...
1/ If no responses have been selected for Q1 and Q2.
2/ If the Q2 checkbox has been selected and any of the Q1 grid rows have also been answered.
3/ If the Q2 checkbox has NOT been selected and NOT ALL of the Q1 grid rows have been answered.
I think that covers all angles.