Add validation trait

This trait is now required for validation to work. At the moment you can create blank menus.