The form used in the form-rules tag example will be the one below:
<form name="subscriptionForm"> <fieldset> <label for="name" >Name</label> <input name="name" id="name" /> <label for="surname">Surname</label> <input name="surname" id="surname" /> <label for="occupation" >Occupation</label> <select id="occupation" name="occupation"> <option value="fg" selected="selected">Select occupation</option> <option value="worker">Worker</option> <option value="student">Student</option> <option value="unemployed">Unemployed</option> </select> <label for="company">Company</label> <input name="company" id="company" /> <label for="university">University</label> <input name="university" id="university" /> <label for="degree">Degree</label> <input name="degree" id="degree" /> <label for="previousEmploymentY" >Employed in the past</label> <input type="radio" name="previousEmployment" id="previousEmploymentY" value="yes"/> <label for="previousEmploymentN" >No previous employment</label> <input type="radio" name="previousEmployment" id="previousEmploymentN" value="no"/> <label for="pastCompany">Past Company</label> <input name="pastCompany" id="pastCompany" /> </fieldset> </form>
The previous form contains several fields that should be displayed only when some others have a certain value:
To achieve the behavior explained above, it has to be configured this way:
<jstags-forms:form-rules formName="subscriptionForm" displayAlways="['name', 'surname', 'occupation']"> <jstags-forms:form-rule fieldName="occupation" pairs='{"worker": ["company"], "student": ["university", "degree"], "unemployed": ["previousEmployment"]}'/> <jstags-forms:form-rule fieldName="previousEmployment" pairs='{"yes": ["pastCompany"]}'/> </jstags-forms:form-rules>