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!

Tym samym wyrażasz zgodę na otrzymanie informacji marketingowych z devstyle.pl (doh...). Powered by ConvertKit

Comments are closed.

Moja książka

Facebook

Zobacz również