De gepersonaliseerde validatie van een TextBox mogelijk maken

0000002107     -      26-04-2019

Dit voorbeeld toont hoe u een code toevoegt om een TextBox te kunnen valideren.

Daartoe moet u toegang krijgen tot de eigenschappen van de Textbox, wat mogelijk is door implementatie van een 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(System.Windows.Forms.Form WindowsForm)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)WindowsForm;
            MercatorUi.MovableControls.MovableTextBox MonTextBox = (MercatorUi.MovableControls.MovableTextBox)sigForm.MovableControls["0B4B01061B"];
            MonTextBox.Validator = new MercatorUi.Validators.ControlValidator(MonTextBox, "Gelieve deze zone in te vullen!", new DevComponents.DotNetBar.Validator.ValidateValueEventHandler(ValidateMonTextBox), 1);
        }

        private void ValidateMonTextBox(object sender, DevComponents.DotNetBar.Validator.ValidateValueEventArgs e)
        {
            e.IsValid = (e.ControlToValidate.Text.Trim() != "");
        }
    }
}

Na lokalisatie van de TextBox voegen wij er de klasse ControlValidator aan toe, met invoer van de volgende parameters:

  1. de te valideren controle;
  2. het weer te geven bericht bij niet-naleving van de validatie;
  3. het te activeren event voor de validatie;
  4. het type validatie (altijd 1 in ons geval).

Het validatie-event is hier "ValidateMonTextBox".
In het voorbeeld wordt gevraagd om de zone in te vullen; we controleren dus of de te valideren controle niet leeg is.
Het is makkelijk om deze test voor het valideren van de zone naar eigen wens aan te passen, zolang er maar een logische waarde wordt vermeld voor de eigenschap IsValid.

Trefwoorden: ControlValidator