Permettre la validation personnalisée d'un TextBox

0000002107     -      06/08/2025

 Depuis la version 10.10 de Mercator, il est possible de fixer les zones obligatoires sans programmation.


Cet exemple montre comment ajouter du code permettant de valider un TextBox.

Pour réaliser ceci, il faut atteindre les propriétés du TextBox. Cela peut se faire en implémentant une interface MercatorUi.ICustomizers.IFormLoadCustomizer.

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
using System.Windows.Forms;

namespace SigCli
{
    public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer
    {
        public void FormLoadCustomize(Form form)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
            MercatorUi.MovableControls.MovableTextBox myTextBox = (MercatorUi.MovableControls.MovableTextBox)sigForm.MovableControls["0B4B01061B"];
            myTextBox.Validator = new MercatorUi.Validators.ControlValidator(myTextBox, "Veuillez compléter cette zone !", ValidateMyTextBox);
        }

        private void ValidateMyTextBox(object sender, DevComponents.DotNetBar.Validator.ValidateValueEventArgs e)
        {
            e.IsValid = !string.IsNullOrWhiteSpace(e.ControlToValidate.Text);
        }
    }
}

Après avoir localisé le TextBox, nous lui ajoutons la classe ControlValidator en lui passant comme paramètres :

  1. le contrôle à valider
  2. le message à afficher en cas de non respect de la validation
  3. l’évènement à déclencher pour la validation

L’évènement de validation est ici "ValidateMyTextBox".
L’exemple donné demande que la zone soit complétée, donc on vérifie que le contrôle à valider ne soit pas vide.
Il est facile d’adapter ce test pour valider la zone comme bon vous semble, du moment qu'il renvoie une valeur logique à la propriété IsValid.


Note : si la validation consiste seulement à vérifier que le TextBox est complété, il est plus simple d'utiliser cette fonctionnalité.

 



Cookies fonctionnels : Cookies nécessaires à l'utilisation du site et cookies de préférence. Ils ne contiennent aucune donnée à caractère personnel. (En savoir plus)

Cookies statistiques : Captation de statistiques liées aux comportements des internautes. (En savoir plus)

Cookies marketing : Pour effectuer le suivi des visiteurs au travers des sites web, à des fins publicitaires. (En savoir plus)