Add Validation at Runtime in ADF

An user request the below requirement.
He want to change validation condition in specific attribute at Entity Object at runtime.

For example there is a maximum of employee salary which can be changed at runtime, therefore the user doesn't want the maximum salary of employee to be fixed.

So I will create a new method for setting Validation Expression at runtime using Groovy.

   public void addExpressionValidator(AttributeDef attributeDef, String groovyExpression, String errorMessage) {  
     //create new ExpressionValidator  
     JboExpressionValidator jboExpressionValidator = new JboExpressionValidator(false, groovyExpression);  
     //Set an error message  
     //adding the validator to the attribute  

You should import the following classes
 import oracle.jbo.rules.JboExpressionValidator;  
 import oracle.jbo.server.AttributeDefImpl;  
 import oracle.jbo.AttributeDef;  

Calling Method
You can call  the previous method and pass validation to it  as below

   public void callMethod() {  
     AttributeDef attributeDef = getViewObject().findAttributeDef("attributeName");  
     addExpressionValidator(attributeDef, "newValue <= 25000", "Salary must less than 25000");  


Popular posts from this blog

OAF : Get Current Row in Table

ADF : Get Current Logged User Name

ADF : Working with ViewCriteria