csharpfritz / csharpfritz/InstantAPIs

Validation layer

Offen
#61 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C#
Sterne
453
Forks
58
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

It would be nice if this whole process could be like a pluggable pipeline (kind of like middleware) where I can just slot in additional functionality. So initial example would just be to add a fluent validator based on each db model and use attributes like [Required] or [MaxLength(500)] to hint to the validation rules that will apply for that object.

```c#
public class MyClass
{
[Required]
public string Name { get; set; }
[MaxLength(500)]
public string Description { get; set; }
}

public class MyClassValidator : AbstractValidator
{
public MyClassValidator()
{
RuleFor(request => request.Name)
.Must(x => !string.IsNullOrWhiteSpace(x))
.WithMessage(x => "Name is required!");
RuleFor(request => request.Description)
.MaximumLength(500)
.WithMessage(x => "Description must be less than 500 characters!");
}
}
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Im Issue sind keine Dateien, Tests oder Einstiegspunkte angegeben. Zuerst den bestehenden Ablauf für Validierung und Endpunktgenerierung abbilden und anschließend klären, wie FluentValidation und Datenannotationsattribute integriert werden sollen; als erledigt gilt die Aufgabe, wenn ein vereinbartes pluggbares Design und Tests für die genannten Attribute enthalten sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
api, backend
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.