Zastosowanie jest podobne do Asp.net MVC. W zasadzie do warstwy UI dodaje się warstwę weryfikacji js, a do kontrolera warstwę weryfikacji tła. Walidacja JS na warstwie UI polega na odwoływaniu się do dwóch skryptów js do działania
Jeśli ten skrypt nie jest odwołany, walidacja stron html frontendu nie działa. Informacje z promptu weryfikacyjnego są przekazywane przez asp-validation-for, np. <span asp-validation-for="Rating" class="text-danger"></span> Jeśli weryfikacja się nie powiedzie, komunikat jest automatycznie dodawany do tekstu tagu span.
Konkretne przykłady
1Stwórz typ do weryfikacji
Atrybut Wymagany wskazuje, że atrybut nie może być null, ale nie może sprawdzać spacji Typy wartości (np. dziesiętne, int, float, DateTime) są wymagane same w sobie i nie wymagają atrybutu [Wymagany]. Funkcja Zasięg ogranicza wartość w określonym zakresie. Funkcja StringLength pozwala ustawić maksymalną długość struny, a także opcjonalną minimalną długość. Funkcja RegularExpression do weryfikacji wyrażeń regularnych.
[Compare("Password", ErrorMessage = "Password entered twice inconsistency")] [display(Name="Potwierdź hasło")] [DataType(DataType.Password)]
Typowe wbudowane atrybuty walidacyjne: [CreditCard]: Sprawdź, czy atrybut jest w formacie karty kredytowej [Porównaj]: Sprawdź, czy oba atrybuty w modelu się zgadzają [Adres e-mail]: Sprawdź, czy atrybut jest w formacie e-mail [Telefon]: Sprawdź, czy atrybut jest w formacie numeru telefonu [Zakres]: Sprawdź, czy wartość atrybutu mieści się w danym zakresie [RegularExpression]: Sprawdź, czy dane odpowiadają określonemu wyrażeniu regularnemu [Wymagane]: Wymagane atrybuty [StringLength]: Weryfikuj maksymalną długość właściwości ciągu [url]: Sprawdź, czy atrybut jest w formacie URL Uwaga: Korzystanie z funkcji Zakres w DateTime do weryfikacji dat JQuery jest zabronione. Bo niezależnie od tego, czy wartość czasu jest wypełniona, czy nie, walidacja js wyda błąd.
2 Walidacja na kontrolerze
3 strony interfejsu użytkownika
Jak pokazano na obrazku: Data selekcji powoduje błąd, właśnie z powodu Użycie Zakresu na typie DateTime jest spowodowane, dlatego używanie Zakresu na DateTime jest zabronione.
5 Dostosowanie informacji promptowych, gdy weryfikacja danych nie udaje się
Atrybut ErrorMessage jest używany w funkcji walidacyjnej Na przykład [StringLength(30, ErrorMessage="Gatunek nie może być dłuższy niż 30")]
|