promptui
promptui copied to clipboard
Prompt Validation: regex matching causes multiple rerenders on input
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. [email protected]")
}
},
}
Issue:
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.
config Templates in promptui.Prompt to control output content format,more detail please refer template
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
},
}