MVC 3 und Benutzerdefinierte Überprüfung der Eingaben mit dem “ValidationAttribute”


Unter ASP.NET MVC 3 ist es sehr einfach sich ein eigenes Validation Attribut zu erstellen, welches dann im Model verwendet werden kann. Ich wollte zum Beispiel prüfen ob ein User Bereits existiert beim Anlegen eines neuen Users.

image

Mit Hilfe meines eigenen Attributes “CheckUserExistsAttribute”, dazu einfach eine neue Klasse anlegen und diese von “ValidationAttribute” ableiten und die Funktion “IsValid” überschreiben.

image

 

Damit ist man schon fertig, wenn man jetzt z.B. auf einer Webseite schon ein Required Attribut verwendet bei einem anderen Property, dann wundert man sich warum das eigene Benutzerdefinierte Attribut nicht “geprüft” wird, in meinem Falle existierte “jr@gmx.de” bereits, wurde aber nicht angezeigt über mein Attribut.

image

Das hat den Hintergrund, das für die bereits implementierten Attribute automatisch die die Validierung per JavaScript eingestellt ist (bei MVC 3) in der web.config und mein Benutzerdefiniertes Attribut keine solche Implementierung beinhaltet und erst auf dem Server ausgewertet wird bei einem kompletten Postback.

image

Die Einbindung von Remote Validation bzw. der zusätzlichen Validierung unter der Hilfe von Javascript kann man auch hier finden:

http://highoncoding.com/Articles/767_Remote_Validation_in_ASP_NET_MVC_3.aspx

http://haacked.com/archive/2009/11/19/aspnetmvc2-custom-validation.aspx

http://bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-validation.html

bzw. in dem folgenden Blogpost

Advertisements

Ein Gedanke zu „MVC 3 und Benutzerdefinierte Überprüfung der Eingaben mit dem “ValidationAttribute”

  1. Pingback: MVC 3 und Remote Validation Attribute | SquadWuschel's Blog

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s