EF Business regels toevoegen met attributen
Home

EF Business regels toevoegen met attributen

EF Business regels toevoegen met attributen

De praktijk van het waarborgen van de kwaliteit van data-gegevens - ook validatie genoemd - is zo'n algemene taak in het ontwikkelingsproces dat er ontwikkelaars meestal beroep doen op één van de vele frameworkd om hen daarbij te helpen.

Validatie

Data Annotations API

Microsoft heeft een zeer effectieve en gemakkelijk te gebruiken gegevensvalidering API ontwikkeld in de kern .NET Framework met de naam Data Annotations. Zoals de naam
impliceert, biedt de met de naam Data Annotations API een set .NET attributen die ontwikkelaars kunnen toegepassen op klasse-eigenschappen van data-objecten. Deze eigenschappen bieden een declaratieve manier om validatieregels rechtstreeks op een model toe te passen.

Verplichte velden

Aangezien een postcode en een plaatsnaam van cruciaal belang zijn voor een PostalCodes entiteit, passen we het RequiredAttribute toe op deze twee velden om ze te markeren als
velden die nodig zijn om de eintiteit PostalCodes als geldig te beschouwen. Daarenboven specifiëren we ook de maximum lengte van deze velden.

namespace LerenWerkenMetEFCF.Models
{
    public class PostalCodes
    {
        [Key]
        [Required]
        public int Id { get; set; }
        [Required]
        [MaxLength(4)]
        public string PostalCode { get; set; }
        [Required]
        [MaxLength(50)]
        public string Location { get; set; }
    }
}

Aangepaste foutmeldingen

Ten slotte is het belangrijk op te merken dat alle gegevens annotaties een ErrorMessage eigenschap hebben waarmee je een aangepaste foutmelding aan de gebruiker kan laten toen in plaats van de standaard foutmelding gegenereerd door de Data Annotations API. We geven voor elk van de gegevens annotaties die we hebben toegevoegd aan het model een aangepaste foutmelding mee:

using System.ComponentModel.DataAnnotations;

namespace LerenWerkenMetEFCF.Models
{
    public class PostalCodes
    {
        [Key]
        [Required]
        public int Id { get; set; }
        [Required]
        [MinLength(4, ErrorMessage = "Postcode bestaat uit minimum 4 cijfers.")]
        [MaxLength(4, ErrorMessage = "Postcode bestaat uit maximum 4 cijfers.")]
        public string PostalCode { get; set; }
        [Required]
        [MaxLength(50, ErrorMessage = "Postcode bestaat uit maximum 50 cijfers.")]
        public string Location { get; set; }
    }
}

We gebruiken de Data Annotations API dus ook bij het definiëren van entiteiten zoals we gezien hebben in EF object relational mapping met attributen.

JI
2016-11-23 13:13:38