csharpfritz / csharpfritz/InstantAPIs
Validation layer
- Lingua principale
- C#
- Stelle
- 453
- Fork
- 58
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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!");
}
}
```
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Nell’issue non sono identificati file, test o punti di ingresso. Occorre prima mappare il flusso esistente di validazione e generazione degli endpoint, quindi chiarire come debbano integrarsi FluentValidation e gli attributi di annotazione dei dati; il completamento deve includere un design pluggable concordato e test per gli attributi indicati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- csharp
- Ambito
- api, backend
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100