Validating data on input is just checking for "known badness", and is pretty ineffective.
If you've got specific structure requirements for the data you store, parse it into that structure.
If you've got specific structure requirements for the data you store, parse it into that structure.
I've seen too many forum developers spend far too much time after the fact dealing with their decision to "just use TinyMCE" ==> Oh hey, you're a server-side HTML parsing expert now anyway; wasn't that what you were trying to avoid?