csharpfritz / csharpfritz/InstantAPIs
Validation layer
- 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
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