Prompt Validation: regex matching causes multiple rerenders on input
jenil777007 opened this issue · 3 comments
jenil777007 commented
Issue reproduction:
emailPrompt := promptui.Prompt{
Label: "Email",
Validate: func(input string) error {
match, err := regexp.MatchString("([a-z]+)@email.com", input)
if err != nil {
log.Fatal(err)
os.Exit(1)
}
if !match {
return errors.New("Please provide a valid email. i.e. abc@email.com")
}
},
}
Issue:
sabino-ramirez commented
hi @jenil777007 did you find a solution to this issue? Something similar happens when the input exceeds the length of the terminal and starts a new line.
banfg56 commented
config Templates in promptui.Prompt to control output content format,more detail please refer template
smnspz commented
Try this:
emailPrompt := promptui.Prompt{
Label: "Email",
Validate: func(input string) error {
regex := regex.MustCompile(`([a-z]+)@email.com`)
if !regex.MatchString(input) {
return errors.New("Wrong mail format")
}
return nil
},
}