using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Web; namespace AppliWebANA.Models { public enum Poste { Stagiaire, Chef, [Display(Name = "Sous-chef")] SousChef, Grouillot } public class Employe { [Required( ErrorMessage = "Le champ {0} est obligatware !" )] [Display( Name = "N° de membre du personnel" )] [CustomValidation(typeof( Validations ), "ValiderEmployeId")] public int Id { get; set; } [Required( ErrorMessage = "Le champ {0} est obligatware !" )] [Display( Name = "Prénom NOM" )] [StringLength( 50, MinimumLength = 2 )] [RegularExpression( "^[A-Z][a-z]*(-[A-Z][a-z]*)? [A-Z]+$", ErrorMessage = "Ça correspond pas à ^[A-Z][a-z]*(-[A-Z][a-z]*)? [A-Z]+$, CRÉTIN !")] public string Nom { get; set; } [Required( ErrorMessage = "Le champ {0} est obligatware !" )] public Poste Poste { get; set; } [Required( ErrorMessage = "Le champ {0} est obligatware !" )] [Range( 0, 7000, ErrorMessage = "Un sale air conforme à la politique de l'entrepise SVP !" )] public Decimal Salaire { get; set; } public static class Validations { public static ValidationResult ValiderEmployeId( int id ) { if( id % 2 == 1 ) { return new ValidationResult( $"Valeur {id} non-autorisée" ); } return null; } } } }