Calculates a Boolean value. If true, the field and all its nested fields will be ignored during current form processing.
Do not create potentially long-running activities in Disable elements. These expressions run each time the form is recalculated. Instead, use a different form element that will not run as frequently perform this calculation.
The display.session and display.subject variables are not available to Disable form elements.
Example
This example illustrates a field definition that uses an expression within the <Disable> element to control the visibility of the field. accountInfo.typeNames is used to find the type of all resources that a user is assigned to. The type returned is a list of all the user’s resource types. If the list of returned type names contains Solaris, then this field is displayed on the screen. Otherwise, this field is disabled.
<Field name=’HomeDirectory’ prompt=’Home Directory’>
<Display class=’Text’/>
<Disable>
<not>
<contains>
<ref>accountInfo.typeNames</ref>
<s>Solaris</s>
</contains>
</not>
</Disable>
</Field>
|
Disable elements are typically used to check values of other fields on the form. Often the other field being referenced is calculated based on other input fields.
<Field name=’special value subfield’>
<Comment>Show only when otherField has the value ’special value’</Comment>
<Disable>
<neq>
<ref>otherField</ref>
<s>special value</s>
</neq>
</Disable>
</Field>
<Field name=’account correlation rule’>
<Comment>If synchronization on a resource supports an account correlation rule,
allow one to be selected, otherwise don’t show the field. If a process rule has been
selected, then a correlation rule won’t be run, so don’t show the field.</Comment>
<Disable>
<or>
<isnull>
<ref>resourceAttributes[correlationRule].displayName</ref>
</isnull>
<notnull>
<ref>resourceAttributes[processRule].value</ref>
</notnull>
</or>
</Disable>
</Field
...
</Field>>