Hayadi's Blog

mardi, décembre 20, 2005

.NET2.0 : Utilisation des ValidationGroup

En ASP.net1 nous avons déjà les controles de validation, cependant ils n'étaient pas toujours pratique, si nous avions 2 parties de formulaires à valider, il fallait que tous les controles de validation soient valide pour pouvoir envoyer la page.

Par exemple, si on avait sur la meme page, un UserControl de login et un UserControl de page Contact, il fallait que tous les champs soient remplis.

ASP.net 2 arrive avec une nouveauté : les validationGroup. Vous pouvez maintenant définir des régions à valider.

Pour plus de détail, regarder l'exemple.
Autre nouveauté, asp.net 2 permet de faire simplement des formulaires qui sont en respect avec les normes du W3C. En effet, le formulaire généré sera :


'Login.ascx :
'---------------------------------------------------------------------------------------

<%@ Control Language="VB" AutoEventWireup="false" CodeFile="Login.ascx.vb" Inherits="UC_Login" %>












'Login.ascx.vb
'---------------------------------------------------------------------------------------

Partial Class UC_Login
Inherits System.Web.UI.UserControl

Protected Sub ButtonLoginValid_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonLoginValid.Click
Page.Validate("Login")
If Page.IsValid Then
'Faudra bien sur vérifier tout ca dans une bdd etc ...
If TextBoxName.Text = "Cyril" AndAlso TextBoxPassword.Text = "toto" Then
Me.PanelLogin.Visible = False
Me.LiteralResult.Text = "Authentification réussie"
Else
Me.LiteralResult.Text = "Nom d'utilisateur ou mot de passe incorrect"
End If
End If
End Sub
End Class

'le fichier CSS
'---------------------------------------------------------------------------------------
div.Login fieldset {width:290px;margin:auto;position:relative;}
div.Login fieldset label {text-align:right;width:70px;clear:left;display:block; float:left;margin:5px;}
div.Login fieldset input {width:170px;margin:5px;}
div.Login fieldset input.Button {margin-right:25px;float:right;width:70px;}