From 366a50ac99594311268512e6fe3e158a63793683 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Fri, 9 Jul 2021 13:58:13 +0300 Subject: Implemented going back in pages that use forms and implemented basic creation and getting of chats --- go-src/dataValidations.go | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'go-src/dataValidations.go') diff --git a/go-src/dataValidations.go b/go-src/dataValidations.go index b391eb3..34c6f03 100644 --- a/go-src/dataValidations.go +++ b/go-src/dataValidations.go @@ -37,19 +37,38 @@ func stringValidRuneAmount(value string, runeStart rune, runeEnd rune, minAmount return sum >= minAmount } +func atLeastOneLetter(value string) bool { + return stringValidRuneAmount(value, 'A', 'Z', 1) || stringValidRuneAmount(value, 'a', 'z', 1) +} + +// Between 2 and 40 characters (A-z, 0-9, ., *, _, -, at least one letter) func stringValidUsername(value string) bool { return stringValidLength(2, 40, value) && stringValidCharacters(value, true, true, '.', '*', '_', '-') && - (stringValidRuneAmount(value, 'A', 'Z', 1) || stringValidRuneAmount(value, 'a', 'z', 1)) + atLeastOneLetter(value) } +// Between 5 and 40 characters (any character, but at least one number) func stringValidPassword(value string) bool { return stringValidLength(5, 40, value) && stringValidCharacters(value, true, true, SpecialCharacters...) && stringValidRuneAmount(value, '0', '9', 1) } +// Between 2 and 60 characters (A-z, spaces, ', -) func stringValidName(value string) bool { return stringValidLength(2, 60, value) && stringValidCharacters(value, true, false, ' ', '\'', '-') } + +// Between 2 and 20 characters (A-z, 0-9, spaces, \_, -, at least one letter) +func stringValidChatName(value string) bool { + return stringValidLength(2, 20, value) && + stringValidCharacters(value, true, true, ' ', '_', '-') && + atLeastOneLetter(value) +} + +// Between 0 and 30 characters (any character) +func stringValidChatDesc(value string) bool { + return stringValidLength(0, 30, value) +} -- cgit v1.2.3