validate: return empty strings by default