I have seen newbie in ADF with java background writing their own validation logic in backing bean or managed bean.
I would suggest them to dig inside attribute level declarative validation provided by Entity Object.
You can perform any type of validation using this rule , I bet because you can even write your own method in EO and call it from this rule.
There are in built compare , length and more validation . You can even write method in EOImpl.java and call it from here. You can even write your java code ,groovy code in script expression.
Please try to put as much as validation here because that is best practice in ADF.
Try to reduce as much as possible ViewController level validation.