Jak najlepiej zaimplementować walidację pól za pomocą ASP.NET MVC? [zamknięte]

zamknięte . To pytanie jest oparte na opinii . Obecnie nie przyjmuje odpowiedzi.

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 pytanie

Buduję 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.

Author: tereško, 2008-08-19

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));
}
 26
Author: Daniel Pollard,
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.

 6
Author: Adrian Grigore,
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

 1
Author: Emad,
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