[SharePoint] Astuces pour les contrôles de validation

Publié le 21 janvier 2009 par Jeremy.jeanson

Sous Sharepoint la réalisation de Webparts utilisant des contrôles de validation peu se transformer en véritable cauchemar si les règles suivante ne sont pas observées :

  1. Donnée un Id au contrôle à valider (par exemple concaténez l'ID de la WebPart et le nom du contrôle... simple et efficace)
  2. Donner l'Id de votre WebPart comme groupe de validation même si vous n' avez pas de groupe (ceci évitera les soucis si plusieurs WebParts sont sur la même page)

Voici un exemple d' implémentation:

C#
TextBox TextBox1 = new TextBox() 
	{
		ID = String.Concat(this.ID, "TextBox1")
	};

this.Controls.Add(TextBox1);

this.Controls.Add(new RequiredFieldValidator()
	{
		ValidationGroup = this.ID,
		Display = ValidatorDisplay.Dynamic,
		ControlToValidate = TextBox1.ID,
		ErrorMessage = "Un texte doit être saisi.<br/>"
	});

Vb (je donne le code Vb, non pas pour SharePoint, c'est évidant, mais pour les WebParts ASP)
Dim TextBox1 As New TextBox With _
	{ _
		ID = String.Concat(Me.ID, "TextBox1") _
	}

Me.Controls.Add(TextBox1)

Me.Controls.Add(New RequiredFieldValidator With _
	{ _
		.ValidationGroup = Me.ID, _
		.Display = ValidatorDisplay.Dynamic, _
		.ControlToValidate = TextBox1.ID, _
		.ErrorMessage = "Un texte doit être saisi.<br/>" _
	})