- hide f3, f4 when a is selected

– show f1, f2 when a is selected

- hide f1, f2 when a is selected

– show f3, f4 when b is selected

- validate if f1 is set when option a is selected

- validate if f3 is set when option b is selected

Storage format for the solution

<ac:structured-macro ac:macro-id="751358d3-b00a-40df-aa48-a662d0f37900" ac:name="confiform" ac:schema-version="1">
  <ac:parameter ac:name="formName">f1</ac:parameter>
  <ac:rich-text-body>
    <ac:structured-macro ac:macro-id="bbb9fc7d-3f0a-4020-868f-d9f905082de6" ac:name="confiform-entry-register" ac:schema-version="1">
      <ac:rich-text-body>
        <p> </p>
      </ac:rich-text-body>
    </ac:structured-macro>
    <p> </p>
    <p>
      <ac:structured-macro ac:macro-id="30dab0da-5213-4daa-bba5-216dcc509c83" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">chooseAorB</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Choose A or B</ac:parameter>
        <ac:parameter ac:name="values">false[a=A|b=B|]</ac:parameter>
        <ac:parameter ac:name="type">radio_group</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="f75cb8ab-cfc0-400b-9401-19b2c20d1369" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">f1</ac:parameter>
        <ac:parameter ac:name="fieldLabel">f1</ac:parameter>
        <ac:parameter ac:name="type">text</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="f4bea731-fcf0-4675-b6b2-0e283500df33" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">f2</ac:parameter>
        <ac:parameter ac:name="fieldLabel">f2</ac:parameter>
        <ac:parameter ac:name="type">text</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="c2cbc241-dfe6-47df-a7ab-44d900b2f28e" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">f3</ac:parameter>
        <ac:parameter ac:name="fieldLabel">f3</ac:parameter>
        <ac:parameter ac:name="type">text</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="1a4f5829-bb12-4080-8a8f-7141317b54d5" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">f4</ac:parameter>
        <ac:parameter ac:name="fieldLabel">f4</ac:parameter>
        <ac:parameter ac:name="type">text</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="eb32403a-c2de-4841-b207-3a95b7bba692" ac:name="confiform-field-definition-rules" ac:schema-version="1">
        <ac:parameter ac:name="condition">*</ac:parameter>
        <ac:parameter ac:name="fieldName">f1,f2,f3,f4</ac:parameter>
        <ac:parameter ac:name="action">Hide field</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="0e05c717-e54f-4f5b-a6f2-6983421b067b" ac:name="confiform-field-definition-rules" ac:schema-version="1">
        <ac:parameter ac:name="condition">chooseAorB:a</ac:parameter>
        <ac:parameter ac:name="fieldName">f3,f4</ac:parameter>
        <ac:parameter ac:name="action">Hide field</ac:parameter>
        <ac:parameter ac:name="actionFieldName">chooseAorB</ac:parameter>
      </ac:structured-macro> - hide f3, f4 when a is selected</p>
    <p>
      <ac:structured-macro ac:macro-id="7fcb04dd-855f-4528-b99d-2ff334898a58" ac:name="confiform-field-definition-rules" ac:schema-version="1">
        <ac:parameter ac:name="condition">chooseAorB:a</ac:parameter>
        <ac:parameter ac:name="fieldName">f1,f2</ac:parameter>
        <ac:parameter ac:name="action">Show field</ac:parameter>
        <ac:parameter ac:name="actionFieldName">chooseAorB</ac:parameter>
      </ac:structured-macro> <span>– show f1, f2 when a is selected</span>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="fbe9d653-b3bf-4981-9a57-3b097fb13a15" ac:name="confiform-field-definition-rules" ac:schema-version="1">
        <ac:parameter ac:name="condition">chooseAorB:b</ac:parameter>
        <ac:parameter ac:name="fieldName">f1,f2</ac:parameter>
        <ac:parameter ac:name="action">Hide field</ac:parameter>
        <ac:parameter ac:name="actionFieldName">chooseAorB</ac:parameter>
      </ac:structured-macro> <span>- hide f1, f2 when a is selected</span>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="8f30b4a1-0234-43b9-be1d-613826521a84" ac:name="confiform-field-definition-rules" ac:schema-version="1">
        <ac:parameter ac:name="condition">chooseAorB:b</ac:parameter>
        <ac:parameter ac:name="fieldName">f3,f4</ac:parameter>
        <ac:parameter ac:name="action">Show field</ac:parameter>
        <ac:parameter ac:name="actionFieldName">chooseAorB</ac:parameter>
      </ac:structured-macro> – show f3, f4 when b is selected</p>
    <p>
      <ac:structured-macro ac:macro-id="114770d2-74d6-40c6-b33a-268d5605d4f3" ac:name="confiform-field-definition-rules" ac:schema-version="1">
        <ac:parameter ac:name="condition">chooseAorB:a AND f1:[empty]</ac:parameter>
        <ac:parameter ac:name="fieldName">You need to put a value for f1</ac:parameter>
        <ac:parameter ac:name="action">Validation rule</ac:parameter>
      </ac:structured-macro> - validate if f1 is set when option a is selected</p>
    <p>
      <ac:structured-macro ac:macro-id="68e265d6-6266-4fff-87f8-a4944fc2d543" ac:name="confiform-field-definition-rules" ac:schema-version="1">
        <ac:parameter ac:name="condition">chooseAorB:b AND f3:[empty]</ac:parameter>
        <ac:parameter ac:name="fieldName">You need to put a value for f3</ac:parameter>
        <ac:parameter ac:name="action">Validation rule</ac:parameter>
      </ac:structured-macro>
      <span>- validate if f3 is set when option b is selected</span>
    </p>
  </ac:rich-text-body>
</ac:structured-macro>