The <option> element lets you specify allowable choices for a field, which can be represented in a drop down, for example. It's represented by the dw.web.FormOption API class.
Attribute | Description |
---|---|
optionid | The identifier of the option. |
value | The option's value. |
label | The option label value. This field can be a key. |
default | The option's default value. |
This element must be a child of <options>, with the following structure:
<options>
<option>
<option>
<option>
</options>
The following example specifies a list of identifying password questions in the profile form:
<field formid="question" label="forms.profile.018" type="string" mandatory="false" binding="passwordQuestion">
<options>
<option optionid="MothersMaidenName" value="Mother's Maiden Name" label="forms.profile.019"/>
<option optionid="MakeOfFirstCar" value="Make of First Car" label="forms.profile.020"/>
<option optionid="FavouritePetsName" value="Favourite Pet's Name" label="forms.profile.021"/>
<option optionid="FathersFirstName" value="Father's First Name" label="forms.profile.022"/>
<option optionid="PlaceOfBirth" value="Place of Birth" label="forms.profile.023"/>
</options>
</field>
You can also define option data dynamically by binding methods to an object within the form definition. For example, you could modify the previous profile form to dynamically create a list of password question via a custom business object. In the Business Manager, you would create a custom object and then add the questions as attributes. In Studio, you would modify the form so that it binds a passwordQuestion method to the custom object, as follows.
<field formid="question" label="Password Question" type="string" mandatory="false" binding="passwordQuestion">
<options optionid-binding="UUID
" value-binding="UUID
" label-binding="question
"/>
</options>
</field>