Built-in validation for WPF and Silverlight is designed for quick client-side validation (e.g. Regex, parsing values, etc.).
If you need to go to the server to perform the check (or validation takes a lot of time), I would do it my own way. For example, when you click the save button, etc.
So, say you have a Save method in the ViewModel (you do not specify which MVVM environment you are using):
public void Save() {
I would do all the work required for this as part of the action in the ViewModel
source share