fbpx
devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
< 1 minut

Ręczna walidacja formy w ASP.NET MVC 2.0, client-side


19.07.2010

Automatycznie generowane walidatory client-side w ASP.NET są spoko – minimalnym nakładem pracy (dodanie atrybutu Required, StringLength, RegularExpression itd na właściwości modelu oraz jednolinijkowej instrukcji <% Html.EnableClientValidation(); %> w widoku) otrzymujemy informacje o błędnych danych bez wycieczki na serwer. Co jednak w przypadku, gdy chcemy sami obsłużyć/zablokować wysyłanie danych na serwer? Sporo się naszukałem, zanim udało mi się znaleźć sposób na sprawdzenie poprawności wpisanych przez użytkownika wartości inaczej niż poprzez kliknięcie przycisku Submit().

Kupa mięci, oto funkcyjka zwracająca poprawność aktualnych wartości pól:

  1:  function formValid(form) {
  2:  	var validationContext = form[0]['__MVC_FormValidation'];
  3:  	var validationErrors = validationContext.validate('submit');
  4:  	return validationErrors.length == 0;
  5:  }

Wykorzystanie z jQuery:

  1:  $('form').live('submit', function() {
  2:  	var form = $(this);
  3:  	var isValid = valUtils.formValid(form);
  4:  	if (isValid == false) {
  5:  		return false;
  6:  	}
  7:  	
  8:  	// ...submit logic...

Nie przegap kolejnych postów!

Dołącz do ponad 9000 programistów w devstyle newsletter!

Zapisując się na newsletter zgadzasz się na przetwarzanie Twoich danych osobowych w celu wysyłania na wskazany przez Ciebie adres e-mail informacji handlowych o nowościach, promocjach, produktach i usługach związanych z serwisem devstyle.pl. Będzie to marketing bezpośredni, do realizacji którego wykorzystam Twoje telekomunikacyjne urządzenia końcowe. Administratorem Twoich danych osobowych będzie Maciej Aniserowicz prowadzący działalność gospodarczą w Białymstoku (15-215) przy ul. Konopnickiej 14/8, NIP 5422824401. Przysługuje Tobie prawo do cofnięcia zgody, żądania wglądu do Twoich danych, wniesienia sprzeciwu co do ich przetwarzania, sprostowania, usunięcia i ograniczenia przetwarzania. Więcej informacji o tym jak przetwarzam Twoje dane znajdziesz na devstyle.pl/RODO. Powered by ConvertKit

Comments are closed.

Kurs Gita

Zaawansowany frontend

Szkolenie z Testów

Szkolenie z baz danych

Facebook

Książka

Zobacz również