refactoring of Interaction validation to match cake model validation