Po prostu zaczynam od ASP.NET MVC 2 i bawię się z Validation.Jak sprawdzać poprawność dwóch właściwości za pomocą ASP.NET MVC 2
Powiedzmy mam 2 właściwości:
- hasło1
- hasło2
I chcę wymagają, aby oba są wypełnione, i wymaga, że oba są takie same przed modelu jest ważna.
Mam prostą klasę o nazwie "NewUser".
W jaki sposób mogę to wdrożyć? Czytałem o ValidationAttribute i rozumiem to. Ale nie widzę, w jaki sposób użyłbym tego do wdrożenia walidacji porównującej dwie lub więcej właściwości przeciwko jedzącemu.
Z góry dziękuję!
Problem z poniższej rozwiązania:
Gdy ta stosowana jest do aplikacji, a ModelBinder uruchamia walidacji modelu, to nie jest problem:
Jeśli Właściwość ValidationAttribute zawiera błąd, a następnie klasa klasy ValidationAttribute klasy to NOT zatwierdzono. Na razie nie znalazłem rozwiązania tego problemu.
Jeśli masz rozwiązanie tego problemu, podziel się swoim doświadczeniem. Wielkie dzięki!
Jedyny problem widzę z tym jest, gdy dwie właściwości modelu (klasa w tym przypadku), nie są sobie równe, nie oznacza to specyficznych właściwości jako zawierających błędy, jak to ma miejsce w przypadku [Wymagane] i <% = Html.ValidationMessageFor (m => m.Password1)%> – CodeMonkey
@CodeMonkey, widzę. Chociaż nie jestem pewien, czy istnieje eleganckie rozwiązanie, które sprawi, że będzie działać w inny sposób, przy użyciu wiązania modelu. W końcu technicznie jest to walidacja na poziomie klasy. Jeśli ** musisz ** dodać błędy do właściwości zamiast, to może sprawdzając dwie wartości w kontrolerze po tym, jak wiązanie będzie najszybszym rozwiązaniem (choć nie najbardziej eleganckim). –
W wersji MVC 2 metoda pomocnika Html.ValidationSummary może teraz wyświetlać tylko błędy na poziomie modelu – murki