Sinds Mercator versie 10.10 is het mogelijk om de verplichte velden zonder programmering vast te zetten.
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.
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, "Gelieve deze zone in te vullen!", ValidateMyTextBox);
}
private void ValidateMyTextBox(object sender, DevComponents.DotNetBar.Validator.ValidateValueEventArgs e)
{
e.IsValid = !string.IsNullOrWhiteSpace(e.ControlToValidate.Text);
}
}
}
Na lokalisatie van de TextBox voegen wij er de klasse ControlValidator aan toe, met invoer van de volgende parameters:
- de te valideren controle;
- het weer te geven bericht bij niet-naleving van de validatie;
- het te activeren event voor de validatie;
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.
Let op: als de validatie enkel bestaat uit het controleren of de TextBox niet leeg is, is het eenvoudiger om deze functionaliteit te gebruiken.