That's limitation of JSF 1.2. The issue is resolved in JSF 2.0.
Do you create component instance in the binding by 'new' call ?
Standard JSF input components do not call validation methods for an empty values. That behavior was changed for JSF 2.0 but RichFaces also redefines some UIInput based components that calls bean validator for all even null or empty values. The component type is same but classes are different.
I suggest to change your code from 'new' to Application.createComponent calls.