Jak najlepiej zaimplementować walidację pól za pomocą ASP.NET MVC? [zamknięte]
chcesz poprawić to pytanie? Zaktualizuj pytanie, aby mogło być odpowiedź z faktami i cytatami przez edytując ten post .
Zamknięte 11 miesięcy temu .
Popraw to pytanieBuduję publiczną stronę internetową za pomocą ASP.NET, w ramach deliverable muszę zrobić Admin Site do wprowadzania danych rzeczy pokazanych w publicznej stronie, zastanawiałem się, co techniki lub procedury są ludzie za pomocą do walidacji wpisów za pomocą ASP.NET MVC.
3 answers
Spójrz na jQuery Validation plugin Ta wtyczka jest niesamowita, jest czysta do wdrożenia i ma wszystkie funkcje, których możesz potrzebować, w tym zdalną walidację za pośrednictwem AJAX.
Również przykładową metodę kontrolera MVC można znaleźć tutaj, która zasadniczo używa akcji JsonResult typu:
public JsonResult CheckUserName(string username)
{
return Json(CheckValidUsername(username));
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-25 03:04:28
IMO używanie xVal z jQuery i DataAnnotationsModelBinder jest najlepszą kombinacją.
Czasami jednak istnieją reguły walidacji, których nie można sprawdzić w całości po stronie klienta, więc musisz użyć zdalnej walidacji po stronie klienta.
Wymyśliłem sposób, aby ogólnie zaimplementować zdalną walidację po stronie klienta za pomocą xVal / jQuery.validate so that
- zasady walidacji pozostają wyłącznie w Twoim ASP.NET model MVC
- piszesz każdą regułę walidacji tylko raz, i tylko w łatwo testowalnym kodzie C#. Nie ma JavaScript ani innego odpowiednika po stronie klienta .
- nie ma potrzeby rozgałęziania lub modyfikowania w inny sposób xVal lub jquery.validate
- Wszystko, co musisz zrobić dla każdej nowej reguły walidacji zdalnego formularza, to wywodzić się z klasy bazowej pokazanej w tym artykule.
Napisałem artykuł na blogu na ten temat opisując wszystkie szczegóły.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-03 15:49:30
Mój ulubiony sposób przeprowadzania walidacji zarówno Klienta, jak i serwera przy użyciu atrybutów opartych na modelu. Napisałem krótki post na ten temat i wydałem kod źródłowy, który w zasadzie pozwoli Ci stworzyć klasę taką jak ta
class User {
[Required]
public string Name{get;set;}
[Email][Required]
public string Email {get;set;}
}
I wygenerowany zostanie odpowiedni kod javascript w celu przeprowadzenia walidacji klienta, a także walidacji po stronie serwera runner zweryfikuje przesłany formularz.
Przeczytaj post na tutaj
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-02 15:26:52