‘valideerimine’ sildiga artiklid

Eelmisest veidi parem valideerimise variant tundub olevat kapseldada reeglid ühte eraldiseisvasse klassi. See on hästi kooskõlas ka Single Responibility Principlega.

public class PersonValidator : AbstractValidator<Person>
{
    public PersonValidator()
    {
        RuleFor(x => x.FirstName).NotNull().And.Length(1, 25);
        RuleFor(x => x.LastName).NotNull().And.Length(1, 25);
        RuleFor(x => x.PersonalCode).NotNull().And.Matches("[0-9]{11}");
        RuleFor(x => x.DateOfBirth).NotNull().And.LessThan(DateTime.Today);
        RuleFor(x => x.Age).NotNull().And.GreaterThan(1).And.LessThan(120);
    }
}

Loe edasi »

  • Share/Bookmark

KATEGOORIAD » .NET,Analüüs/Arhitektuur

SILDID » , , ,

LOE EDASI »
23

Aprill

Valideerimine atribuutidega

Marek Tihkan Kommenteeri

Atribuutide kasutamine valideerimiseks tundub paljude jaoks hea mõte olevat. Seda väidet kinnitab selliste raamistikkude rohkesus. Ei saa vastu vaielda, et see on üks lihtsamaid viise, kuid tasuks ka vaadata alternatiive enne kasutamist, sest seegi pole ilma tumeda pooleta.

public class Person
{
    public int Id { get; private set; }

    [Required, Length(Max = 25)]
    public string FirstName { get; set; }

    [Required, Length(Max = 25)]
    public string LastName { get; set; }

    [Required, Pattern("[0-9]{11}")]
    public string PersonalCode { get; set; }

    [Required, PastDate]
    public DateTime DateOfBirth { get; set; }

    [Required, Between(Min = 1, Max = 120)]
    public int Age { get; set; }
}

Loe edasi »

  • Share/Bookmark

KATEGOORIAD » .NET,Analüüs/Arhitektuur

SILDID » , , , , ,

LOE EDASI »