Oracle® Application Development Framework Developer's Guide For Forms/4GL Developers 10g (10.1.3.1.0) Part Number B25947-01 |
|
|
View PDF |
Figure 20-1 shows how validation and conversion work in the integrated JSF and ADF lifecycle.
When a form with data is submitted, the browser sends a request value to the server for each UI component whose value
attribute is bound. The request value is first stored in an instance of the component in the JSF Apply Request Values phase. If the value requires conversion (for example, if it is displayed as a String
but stored as a DateTime
object), the data is converted to the correct type. Then, if you set ADF Faces validation for any of the components that hold the data, the value is validated against the defined rules during the Process Validations phase, before the value is applied to the model.
If validation or conversion fails, the lifecycle proceeds to the Render Response phase and a corresponding error message is displayed on the page. If validation and conversion are successful, then the UpdateModel
phase starts and the validated and converted values are used to update the model.
At this point, if there are any ADF Model validation rules, the values are validated against those rules in the ADF Validate Model Updates phase. As with ADF Faces validation, if the validation fails, the lifecycle proceeds to the Render Response phase. See Section 13.2.3, "What Happens at Runtime: The JSF and ADF Lifecycles" for more information. In your ADF Business Components application, note that unless you use data controls other than your application module data controls, you don't need to use additional ADF Model validation rules because the validators set in the business domain layer of entity objects are sufficient.
When a validation or conversion error occurs, the component (in the case of JSF validation or conversion) or attribute (in the case of ADF Model validation) whose validation or conversion failed places an associated error message in the queue and invalidates itself. The current page is then redisplayed with an error message. Both ADF Faces components and the ADF Model provide a way of declaratively setting these messages. For information about how other errors are handled by an ADF application, see Section 20.8, "Handling and Displaying Exceptions in an ADF Application".