Hey, MenuItem Validate function is used for preventing function assigned to MenuItem itself from execution.
It is invoked in two places - just before displaying menu nodes for possibility to enable \ disable those and second time when invoking menu item just before it's execution.
if (MenuItemValidate())
MenuItemAction()
In this specific case the former action happens, OS asks for menu contents to be displayed and all Validate function registered to that menu level are called.