Move validation back to controller