Dans ma recherche de "l' éternellement plus simple"... (oui je n'aime pas bâtir des usines à gaz). Voici un exemple de code mettant en oeuvre des controls de validation dans une Webpart.
Note: la Webpart contient deux TextBox et trois controls de validation:
1. Valide le fait que l'utilisateur ait fait une saisie.
2. Valide le bon format du mail saisi.
3. Valide le fait que les deux saisies soient identiques.
// Champs requis RequiredFieldValidator requiredFieldValidator = new RequiredFieldValidator() { Display = ValidatorDisplay.Dynamic, ControlToValidate = this._TextBoxMail1.ID, ErrorMessage = "Un e-mail doit être saisi.<br/>", }; // Validation de l'email RegularExpressionValidator regularExpressionValidator = new RegularExpressionValidator() { Display = ValidatorDisplay.Dynamic, ControlToValidate = this._TextBoxMail1.ID, ValidationExpression = @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", ErrorMessage = "L'e-mail saisie est invalide.<br/>" }; // Comparaison des champs CompareValidator compareValidator = new CompareValidator() { Display = ValidatorDisplay.Dynamic, ControlToValidate = this._TextBoxMail1.ID, ControlToCompare = this._TextBoxMail2.ID, ErrorMessage = "Les deux e-mail saisis ne sont pas identiques.<br/>" }; // Ajout et mise en forme this._ViewEdition.Controls.Add(this._LabelMailActuel); this._ViewEdition.Controls.Add(this._TextBoxMail1); this._ViewEdition.Controls.Add(this._TextBoxMail2); this._ViewEdition.Controls.Add(requiredFieldValidator); this._ViewEdition.Controls.Add(regularExpressionValidator); this._ViewEdition.Controls.Add(compareValidator);