Webforms Validator und HTML5

Manchmal wird einem in Erinnerung gerufen, das nicht alles was alt ist, auch schlecht ist. Früher, so zu VB 5 Zeiten, waren Controls das um und auf. Für alles wurde ein passendes UX Control geschrieben. Für Drittanbieter ein großes Geschäft. Heute wollen viele im Web Umfeld die volle Kontrolle über den erzeugten HTML Code. ASP.NET MVC baut darauf auf. Mit Frameworks wie JQuery kann man sogar ganz auf den deklarativen Teil verzichten und die Anwendung besteht dann nur mehr aus <div>.

Steuerelemente haben allerdings auch einen Vorteil. Wenn diese neue Funktionen implementieren, kann der Anwender ganz automatisch davon profitieren, oft ohne eine Zeile Code zu ändern. ASP.NET 4.5 Web Forms Controls unterstützt eine Reihe von HTML 5 Funktionen. So z.B. auch die Validierung per data* Attribute.

Eine klassische ASP.NET Web Forms Seite

 <asp:TextBox ID="TextBox1" runat="server" Width="134px"></asp:TextBox>

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="unpassende Mail Adr." ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">*
</asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
ControlToValidate="TextBox1" runat="server" ErrorMessage="RequiredFieldValidator">*
</asp:RequiredFieldValidator>

erzeugt dann im HTML Code Attribute wie data-val-validationexpression= statt umfangreichen JavaScript Code.

Wie Fiddler zeigt reduziert sich die Datenmenge.

image

Mit dem Page Attribut UnobtrusiveValidationMode kann man das Verhalten steuern. Das klappt zentral in der web.config oder in der Page direkt. Der Standard ist UI.UnobtrusiveValidationMode.WebForms und damit HTML5

 

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        UnobtrusiveValidationMode = UI.UnobtrusiveValidationMode.None
End Sub
image

Pingbacks and trackbacks (1)+

Kommentare sind geschlossen