Skip to main content

InputTask

InputTask provides an interface for text data input with validation support.

Creating

task := ziva.NewInputTask("Username", "Enter name:")
Screenshot: input with validation

Main Methods

// Settings
task.WithValidator(ziva.DefaultValidators.Email())  // validator
task.WithInputType(ziva.InputTypePassword)         // field type
task.WithTimeout(30*time.Second, "default")          // timeout
task.WithVisibleLength(20)                         // limit visible width with horizontal scroll

// Get result
value := task.GetValue() // string

Input Types

const (
    InputTypeText     = ziva.InputTypeText     // regular text
    InputTypePassword = ziva.InputTypePassword // password (hidden)
    InputTypeEmail    = ziva.InputTypeEmail    // email
    InputTypeNumber   = ziva.InputTypeNumber   // number
    InputTypeIP       = ziva.InputTypeIP       // IP address
    InputTypeDomain   = ziva.InputTypeDomain   // domain
)

Example with Validation

v := ziva.DefaultValidators

email := ziva.NewInputTask("Email", "Enter email:").
    WithInputType(ziva.InputTypeEmail).
    WithValidator(v.Email())

password := ziva.NewInputTask("Password", "Enter password:").
    WithInputType(ziva.InputTypePassword).
    WithValidator(v.StrongPassword())

queue := ziva.NewQueue("Registration")
queue.AddTasks(email, password)
queue.Run()

fmt.Printf("Email: %s\n", email.GetValue())

See Also

I