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.
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>>