mirror of
https://github.com/IllusionMan1212/gorc.git
synced 2026-10-24 02:12:33 +00:00
feat: validate host, port and nickname fields
This commit is contained in:
@@ -61,15 +61,18 @@ func NewLogin() State {
|
||||
t.Focus()
|
||||
t.CharLimit = 40
|
||||
t.TextStyle = FocusedStyle
|
||||
t.Validate = NoSpacesValidation
|
||||
case 1:
|
||||
t.Placeholder = "Port"
|
||||
t.CharLimit = 5
|
||||
t.Validate = ValidatePort
|
||||
case 2:
|
||||
t.Placeholder = "Channel"
|
||||
t.CharLimit = 32
|
||||
case 3:
|
||||
t.Placeholder = "Nickname"
|
||||
t.CharLimit = 32
|
||||
t.Validate = NoSpacesValidation
|
||||
case 4:
|
||||
t.Placeholder = "Password"
|
||||
t.CharLimit = 64
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
// gorc project
|
||||
// Copyright (C) 2023 IllusionMan1212
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this program; if not, see https://www.gnu.org/licenses.
|
||||
|
||||
package login
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func NoSpacesValidation(input string) error {
|
||||
if strings.Contains(input, " ") {
|
||||
return errors.New("Field cannot contain spaces")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func ValidatePort(input string) error {
|
||||
pNum, err := strconv.ParseUint(input, 10, 16)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if pNum < 1 || pNum > 65535 {
|
||||
return errors.New("Invalid port number")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user