base validation decorator