In ASP.NET 2.0 gibt es ja ein göttliches neues Feature, genauer ne Property aller mit Validierung in Zusammenhang stehender Controls, genannt ValidationGroup.
Damit lassen sich diverse Controls gruppieren, und so auch eine Validierung für "mehrere Formulare" auf einem Webform realisieren. In früheren Versionen musste für soetwas immer auf serverseitige Validierung zurückgegriffen werden, da nur dort eine Unterscheidung möglich war, siehe "Validierung". Nun kann man also das clientseitige Validieren benutzen. Das funktioniert tadellos, sogar im Firefox.
Was ist jetzt aber, wenn ein Benutzer kein JavaScript erlaubt?
"Dann hat er Pech", würden viele sagen ... aber das ist Quatsch. Eine Website sollte soweit möglich auch ohne JavaScript & Co. funktionieren. Also habe ich es ausprobiert. Ergebnis: es wird nichts validiert ...
Das heißt: die Engine erkennt nicht, ob JS enabled ist oder nicht, man muss also nach wie vor in der vom Formular zur Auswertung aufgerufenen Methode selbst hand anlegen:
protected void Send(object sender, EventArgs e)
{
Page.Validate("ModulKontaktformular");
if (Page.IsValid)
{
}
}
Das ist jetzt eine Beispielmethode Send, die für das Verschicken einer E-Mail in einem Kontaktformular benutzt wird. Im Prinzip nix Neues, kennt man alles schon aus 1.1.
Aber: Page.Validate() kann man nun überladen und der Methode den Namen der ValidationGroup mitgeben. Das ist notwendig, um die oben erwähnte Unterscheidung zw. den verschiedenen "Formularen" zu bekommen ... ich dachte anfangs schon sie hätten es vergessen, aber nein, hier haben die Entwickler des Frameworks mitgedacht ;-)