Basic Customization > User Interface Customization > Presenting Information in the UI > Attribute Customization > Windchill Attribute Customization Overview > Common Attribute Customization Procedures > Required Input
  
Required Input
You want to make it compulsory that a value is provided for an attribute.
Solution Elements
Element
Description
Required Constraint
This configuration will be applied to an attribute on all the UIs in which the attribute is displayed. This rule is enforced both in the UI and during persistence in the DB. For exceptions see the javadoc for com.ptc.windchill.annotations.metadata.PropertyConstraints.
The constraint can be set using one the following configuration points:
For modeled attributes:
Required PropertyConstraint annotation (see Modeling Business Objects for more information)
Required Constraint in the Type and Attribute Management utility (see Constraints Tab for more information)
For global attributes & local attributes:
Required Constraint in the Type and Attribute Management utility (see Constraints Tab for more information)
Input required Property
The property Input Required can be set on a modeled, global or local attribute.
Scope: This configuration is applied to this attribute only on the specific attribute panel for which the property is set. This setting is purely a UI only rule and is not enforced during persistence in the DB.
The Input Required property cannot be used to disable mandatory input on an attribute that already has a Required constraint.
Intended Outcome
When the attribute is displayed as a Name-Value pair like in an Attribute Panel, the attribute will be marked with an ‘*’ in front of the label.
A validation message will be thrown when the data is submitted or when the user navigates to another screen. This message is not customizable.
Solution
The configurations required to achieve the different kinds of behavior are listed below:
If you want to…..
Configuration
Make input required on all UIs in which the attribute is displayed for entry/editing
Use the Required Constraint
Make input required when the attribute does not have a UI for entering the value, like import of data, programmatic creation of objects objects/attributes
Use the Required Constraint
Make input required for the attribute only on a specific UI
Use the Input Required property
Make input required for the attribute only in the UI; do not enforce this outside the UI, like when a value is provided programmatically
Use the Input Required property
* 
In tables that allow input of data, the “*” will not be added to the column headers. This is because if a table displays more than one object type, for any given column, some types might have the attribute configured as required and others may not.