34 lines
512 B
Go
34 lines
512 B
Go
|
package validators
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"strconv"
|
||
|
)
|
||
|
|
||
|
func Range(min int, max int) TextInputValidator {
|
||
|
return TextInputRange{
|
||
|
min: min,
|
||
|
max: max,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type TextInputRange struct {
|
||
|
min int
|
||
|
max int
|
||
|
}
|
||
|
|
||
|
func (d TextInputRange) Notice() string {
|
||
|
return fmt.Sprintf("Valid values: (%d - %d)", d.min, d.max)
|
||
|
}
|
||
|
|
||
|
func (d TextInputRange) ValidationFunc(input string) bool {
|
||
|
portNum, err := strconv.Atoi(input)
|
||
|
if err != nil {
|
||
|
return false
|
||
|
}
|
||
|
if portNum > 65535 || portNum < 1 {
|
||
|
return false
|
||
|
}
|
||
|
return true
|
||
|
}
|