title: ViewModel/View relationship and validation
body: <p>In our WPF application we want to use the basic MVVM pattern. We were discussing it and some uncertainties about ViewModel/View relationship and validation came up. Would you say the following is a good understanding of it? </p>
  
  <ul>
  <li><p><strong>Every View has one and only one ViewModel</strong>
  and the ViewModel's purpose is
  to provide its View with data and
  handle all of its View's events and
  commands. (Are there instances where one ViewModel services two Views, e.g. a standard XAML input form view and a CSV Import which provides the same data as the form and thus needs to have the same validation?)</p></li>
  <li><p><strong>Validation is handled solely by the ViewModel</strong> when e.g. the view
  throws a ChangedFocus or SaveButtonPressed event, etc.</p></li>
  <li><p><strong>The Model is pretty dumb</strong>, simply being
  the data structure based on one or
  more tables from the database, but
  the model itself doesn't handle
  validation, for instance. It is even the ViewModel that builds up and holds the ObservableCollection of objects e.g. "Customers" and not the Model itself.</p></li>
  </ul>
  
  <p>Any feedback appreciated.</p>