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

Custom validation messages for select-like prompts

Aperta
#553 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

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

Direzione di ricerca

Inizia con la validazione required esistente per gli entry point dei prompt multiselect e groupMultiselect, quindi confronta il modo in cui i prompt simili a select gestiscono la validazione. Definisci il comportamento del valore restituito dall’opzione validate e stabilisci se sostituisce o integra required. Il lavoro è completato quando entrambi i prompt accettano la validazione personalizzata e visualizzano i messaggi stringa restituiti, mantenendo il comportamento attuale di required come concordato.

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

Descrizione

Context

This came up while evaluating @clack/prompts as a potential replacement for enquirer.js, comparing it with enquirer.js and @inquirer/prompts.

Split out from: #550

Problem

multiselect has a required option with a built-in validation message:

Please select at least one option

That message is not customizable, and there is no general validation hook for select-like prompts.

In enquirer.js, this kind of validation can be customized:

validate(value) {
  if (value.length === 0) return 'You must choose at least one package.'
  return true
}

Proposal

Add a validate option to select-like prompts, initially multiselect and groupMultiselect:

const selected = await multiselect({
  message: 'Choose packages',
  options: [...],
  validate: (values) => {
    if (values.length === 0) return 'Select at least one package.'
    return true
  },
})

The validation function could return true or a string error message.

Notes

This could either replace or complement the current required option.

Lingua principale
TypeScript
Stelle
8.1k
Fork
218
Merge medio
1g 23h
PR unite (30g)
6

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 bombshell-dev/clack

Tutte le issue di bombshell-dev/clack

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.