public EtablissementValidator(IVATService vatValidator)
        {
            RuleFor(x => x.Type)
            .NotNull().WithMessage("Le type est obligatoire")
            .Must(TypeEstDansListe).WithMessage("Il n'y a que 4 valeurs possibles pour ce champ : Bar, Boite de Nuit, Salle de Concert, Cercle Etudiant");

            RuleFor(x => x.Nom)
            .NotNull().WithMessage("Le nom est obligatoire")
            .MaximumLength(50).WithMessage("Maximum 50 caractères pour le nom");

            RuleFor(x => x.NumeroTva)
            .NotNull().WithMessage("Le numéro de TVA est obligatoire")
            .MustAsync(NumTvaValide).WithMessage("Le numéro de TVA doit être valide, n'oubliez pas le code pays par exemple : BE0409.458.972");

            RuleFor(x => x.AdresseEmailPro)
            .NotNull().WithMessage("L'adresse mail professionnelle est obligatoire")
            .Must(MailEstValide).WithMessage("L'adresse mail doit être valide")
            .MaximumLength(255).WithMessage("Maximum 255 charactères pour l'adresse mail");

            RuleFor(x => x.ZoneTexteLibre)
            .MaximumLength(2000).WithMessage("Maximum 2000 charactères pour la zone de texte libre");

            RuleFor(x => x.CodePostal)
            .NotNull().WithMessage("Le code postal est obligatoire")
            .MaximumLength(20).WithMessage("Maximum 20 caractères pour le code postal");

            RuleFor(x => x.Ville)
            .NotNull().WithMessage("La ville est obligatoire")
            .MaximumLength(100).WithMessage("Maximum 100 caractères pour la ville");

            RuleFor(x => x.Pays)
            .NotNull().WithMessage("Le pays est obligatoire")
            .Must(PaysEstDansListe).WithMessage("Le Pays doit exister");

            RuleFor(x => x.Rue)
            .NotNull().WithMessage("La rue est obligatoire")
            .MaximumLength(100).WithMessage("Maximum 100 caractères pour la rue");

            RuleFor(x => x.NumeroBoite)
            .NotNull().WithMessage("Le numéro de boîte est obligatoire")
            .MaximumLength(20).WithMessage("Maximum 20 caractères pour le numéro de boîte");

            RuleFor(x => x.NumeroTelephone)
            .MaximumLength(25).WithMessage("Maximum 25 caractères pour le numéro de téléphone")
            .Must(NumTelEstValide).WithMessage("Le numéro de téléphone doit être valide");

            RuleFor(x => x.AdresseEmailEtablissement)
            .Must(MailEstValide).WithMessage("L'adresse mail doit être valide")
            .MaximumLength(255).WithMessage("Maximum 255 caractères pour l'adresse mail");

            RuleFor(x => x.AdresseSiteWeb)
            .Matches(@"^(www).([\w]+).[\w\.//]*$").WithMessage("L'adresse url doit être valide par ex : www.youplaboom.be/index");

            RuleFor(x => x.AdresseInstagram)
            .Matches(@"^(www).([\w]+).[\w\.//]*$").WithMessage("L'adresse url doit être valide par ex : www.youplaboom.be/index");

            RuleFor(x => x.AdresseFacebook)
            .Matches(@"^(www).([\w]+).[\w\.//]*$").WithMessage("L'adresse url doit être valide par ex : www.youplaboom.be/index");

            RuleFor(x => x.AdresseLinkedin)
            .Matches(@"^(www).([\w]+).[\w\.//]*$").WithMessage("L'adresse url doit être valide par ex : www.youplaboom.be/index");

            this.vatValidator = vatValidator;
        }
示例#2
0
 public MonEtablissementViewValidator(IVATService vatValidator)
 {
     RuleFor(x => x.Etab)
     .SetValidator(new EtablissementValidator(vatValidator));
 }