U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Validatiemodule in een informatiebestand

0000001914     -      25-09-2018

In het onderstaande voorbeeld laten we zien hoe u een validatiemodule plaatst in een informatiebestand. Desgevallend genereert de geïmplementeerde methode het antwoord 'false' en wordt het registratieproces van de gegevens stopgezet. Dit voorbeeld steunt op de interface IFormValidateCustomizer.

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

namespace SigCli
{
    public class Customizer : MercatorUi.ICustomizers.IFormValidateCustomizer
    {
        public bool FormValidateCustomize(Form form)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
            if ((string.IsNullOrWhiteSpace(sigForm.CliRecord.C_PAYS)) && (!string.IsNullOrWhiteSpace(sigForm.CliRecord.C_CODEP)) && !Api.IsNumeric(Api.Left(sigForm.CliRecord.C_CODEP, 2)))
            {
                Dialogs.Stop("De postcode lijkt buitenlands, maar het landveld is leeg!");
                return false;
            }
            if ((string.IsNullOrWhiteSpace(sigForm.CliRecord.C_CODEP)) || (string.IsNullOrWhiteSpace(sigForm.CliRecord.C_ADRESSE)) || (string.IsNullOrWhiteSpace(sigForm.CliRecord.C_VILLE)))
            {
                if (!Dialogs.AnswerYesNo("Het adres is onvolledig. Doorgaan?"))
                    return false;
            }
            return true;
        }
    }
}

Merk op in deze code:

  • De ontvangen 'form'-parameter is van het standaardtype System.Windows.Forms.Form. Er moet dus een cast gebeuren naar het specifieke type MercatorUi.Forms.Sig.SigForm. Daartoe dient de eerste lijn.
  • De Dialogs-klasse bevindt zich in de namenruimte MercatorUi. U moet dus using MercatorUi; toevoegen.
  • De Api-klasse bevindt zich in de namenruimte MercatorApi. U moet dus using MercatorApi; toevoegen.