feat: validate host, port and nickname fields

This commit is contained in:
2023-02-21 02:26:19 +02:00
parent c965143264
commit bd4d332b75
2 changed files with 47 additions and 0 deletions
+3
View File
@@ -61,15 +61,18 @@ func NewLogin() State {
t.Focus() t.Focus()
t.CharLimit = 40 t.CharLimit = 40
t.TextStyle = FocusedStyle t.TextStyle = FocusedStyle
t.Validate = NoSpacesValidation
case 1: case 1:
t.Placeholder = "Port" t.Placeholder = "Port"
t.CharLimit = 5 t.CharLimit = 5
t.Validate = ValidatePort
case 2: case 2:
t.Placeholder = "Channel" t.Placeholder = "Channel"
t.CharLimit = 32 t.CharLimit = 32
case 3: case 3:
t.Placeholder = "Nickname" t.Placeholder = "Nickname"
t.CharLimit = 32 t.CharLimit = 32
t.Validate = NoSpacesValidation
case 4: case 4:
t.Placeholder = "Password" t.Placeholder = "Password"
t.CharLimit = 64 t.CharLimit = 64
+44
View File
@@ -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
}