synchronous validation helper