Custom validation messages for select-like prompts
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
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di bombshell-dev/clack
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 70/100
bombshell-dev/clack#613 · 3 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
bombshell-dev/clack#597 ·
-
rfc: accessible modeApertaenhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
bombshell-dev/clack#585 · 1 commento · 1 reazione ·
-
[Bug] Spinner does not run `onCancel` function on `Ctrl + C`Forse già presa @cyphercodes l’ha presa 99 giorni fa. Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
bombshell-dev/clack#573 · 1 commento · 2 reazioni ·
-
enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 62/100
bombshell-dev/clack#565 · 1 commento · 1 reazione ·
Tutte le issue di bombshell-dev/clack
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
siyuan-note/siyuan#20313 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 92/100
alunduil/projects-v2-sync#14 ·
-
Service process inherits the caller's cwd at first use, holding that folder open on Windows (EBUSY)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
DevTools page styles leak into the host app in developmentForse già presa @onmax l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
nuxt-modules/better-auth#567 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno