I would suggest to check the event type right in the first if, otherwise you are calling validSelection() for every event that the button gets.
As long as validSelection() is basically just returning a boolean that is fine either way, but if you ever change it to do something more, it becomes just unnecessary overhead.

Cheers,
_