Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

`Command.Validators` should be invoked only when the command options are arguments are valid

Aperta
#2,779 5 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
csharp
Ambito
cli

Direzione di ricerca

Non viene indicato alcun file sorgente né alcun test. Inizia leggendo l'issue correlata #2645 e tracciando dove vengono invocati i validator di Command rispetto alla validazione delle opzioni e degli argomenti. Il lavoro è completato quando l'ordine corrisponde al comportamento richiesto dall'issue, oppure quando la documentazione spiega chiaramente perché i validator di Command non possono leggere i valori validati delle opzioni e degli argomenti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

For Option<T> and Argument<T>, custom validators are invoked before the conversion from the token (string) to T. It's well behavior for the use case such the production of better error messages, even so the behavior is not well documented (related #2645).

For Command, as same as above, validators are invoked before its options and arguments today, but it's useless.

I expect to be able to use Command validators for the complex validation of our command line. In other words, the options and arguments should be validated with their definitions (Arity, AllowMultipleArgumentsPerToken, CustomParser, etc, and Validators) first, then only when no one have any errors, the command validators should be invoked.

Or, reading the values of options and arguments from Command.Validators is incorrect? If so, better documentation is needed.

Lingua principale
C#
Stelle
3.7k
Fork
434
Merge medio
6h 27m
PR unite (30g)
2

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di dotnet/command-line-api

Tutte le issue di dotnet/command-line-api

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.