You kind of copy pasted my answer here
I was curious about the client side... You use a DomainDataSource class in you xaml or a DomainContext in mvvm?
If your are using DDS than don't do that
You have a Submit method in your viewmodel, which calls SubmitChanges... In this method before you call submitchanges call your validation logic.
Now about the validation logic... on the client side you don't have metadata classes... that exists only on the server side... on the client side the attributes are placed over the properties of the original entitiy.
Now you have the validateproperty method in the viewmodel. Override it... See the code I posted on my blog for the session and rewrite that part where I use Validator.TryValidateProperty(this.....) instead of "this" you should add the ria entitiy you want to validate...
That's it... I hope it's clear!