> Would we ever need custom validation logic on a per page/pane basis?

If it's data related it should belong in the model IMO.  If there's some weird edge case validation then keeping that in a controller makes sense to me.