WPF Walidacja atrybutów modelu w kolekcji

WPF Walidacja atrybutów modelu w kolekcji
Waldemar Jankowski
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

Witam serdecznie,

próbuję zrobić walidację textboxów w WPF ale w każdym kolejnym artykule jest napisane co innego.

Przybliżę problem:
Mam Model, który ma następujące pola:

  • identyfikator,
  • nazwa_magazynu,
  • opis,
  • identyfikator_arkusza

jeden magazyn może być przypisany tylko do jednego arkusza.

W ViewModel mam kolekcję tych obiektów (magazynów), gdzie w XAMLu są one wyświetlane jako lista składająca się z labela identyfikator i textboxów nazwa_magazynu, opis i identyfikator_arkusza. Zrobiłem to w taki sposób, abym mógł podczas wyświetlania listy edytować jej elementy (nazwa_magazynu, opis i identyfikator_arkusza). Zrobiłem do tych trzech textboxów również walidację w klasie Model opartą o IDataErrorInfo i wszystko działa jak należy, jednak w niektórych artykułach/forach jest napisane, że walidacja powinna odbywać się w ViewModel.
Problem polega na tym, że w ViewModel mam kolekcję tych Modeli (magazynów) więc nie wiem jak mam w ten sposób walidować właściwy magazyn.

Bardzo proszę o jakieś naprowadzenie.

Pozdrawiam

FA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: warszawa
  • Postów: 315
0

Magazyn powienien mieć swój viewModel. Ma to głęboki sens, view model moze implementować wszystkie śmieszne interfejsy graficzne, czy dekoracje typu pogrubienie przed ostatniego elementu klikniętego(bo czemu nie?), bez zaśmiecania logiki biznesowej. Pozwala to również zabezpieczyć się przed wysłaniem do modelu skorumpowanych danych, bo nie dokońca wypełnione formy nie idą do modelu, lub na unikanie problemów z wydajnościa, bo nie musisz ryć po dysku w wątku UI, na każde naciśnięcie myszki.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.