validation decorator