Take a look at the Content Contributor web parts. These can be tied to a particular page type and set to allow anonymous access users to be able to submit content.
You will set the validation in the page type form itself (you can use alternative forms in these webparts to only show the fields you want) and it will react just like if a user was doing this via the content tree except they are not seeing the backend admin system.
Hope that helps.