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

Comments are closed.

Kurs Gita

Zaawansowany frontend

Szkolenie z Testów

Szkolenie z baz danych

Książka

Zobacz również