Używam ASP.NET MVC z klasami Entity Framework POCO i framework FluentValidation. Działa dobrze, a sprawdzanie poprawności odbywa się tak, jak powinno (tak jakbym korzystał z DataAnnotations). Otrzymałem nawet walidację po stronie klienta. I jestem z tego całkiem zadowolony.Korzystanie z ViewModel w ASP.NET MVC z FluentValidation
Ponieważ jest to aplikacja testowa, którą piszę tylko po to, aby sprawdzić, czy mogę współpracować ze wszystkimi nowymi technologiami (i uczyć się ich po drodze), jestem teraz gotowy eksperymentować z użyciem ViewModels zamiast tylko przekazywać rzeczywisty model do widok. Planuję użyć czegoś takiego jak AutoMapper w mojej usłudze, aby wykonać odwzorowanie od modelu do ViewModel, ale najpierw mam pytanie.
Jak to wpłynie na moją walidację? Czy moje klasy sprawdzania poprawności (napisane przy użyciu FluentValidation) powinny być napisane na ViewModelu zamiast na Modelu? Czy to musi się zdarzyć w obu miejscach? Jedną z wielkich ofert dotyczących DataAnnotations (i FluentValidation) było to, że mógłbyś walidować w jednym miejscu, który działałby "wszędzie". I spełnia tę obietnicę (głównie), ale jeśli zacznę używać ViewModels, czy nie tracę tej umiejętności i muszę wrócić do sprawdzania poprawności w dwóch miejscach?
Czy tylko o tym myślę źle?