aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Models/Validation/NameValidator.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-10-27 19:21:35 +0800
committercrupest <crupest@outlook.com>2020-10-27 19:21:35 +0800
commitac769e656b122ff569c3f1534701b71e00fed586 (patch)
tree72966645ff1e25139d3995262e1c4349f2c14733 /Timeline/Models/Validation/NameValidator.cs
parent14e5848c23c643cea9b5d709770747d98c3d75e2 (diff)
downloadtimeline-ac769e656b122ff569c3f1534701b71e00fed586.tar.gz
timeline-ac769e656b122ff569c3f1534701b71e00fed586.tar.bz2
timeline-ac769e656b122ff569c3f1534701b71e00fed586.zip
Split front and back end.
Diffstat (limited to 'Timeline/Models/Validation/NameValidator.cs')
-rw-r--r--Timeline/Models/Validation/NameValidator.cs42
1 files changed, 0 insertions, 42 deletions
diff --git a/Timeline/Models/Validation/NameValidator.cs b/Timeline/Models/Validation/NameValidator.cs
deleted file mode 100644
index b74c40b7..00000000
--- a/Timeline/Models/Validation/NameValidator.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using System.Linq;
-using System.Text.RegularExpressions;
-using static Timeline.Resources.Models.Validation.NameValidator;
-
-namespace Timeline.Models.Validation
-{
- public class NameValidator : Validator<string>
- {
- private static Regex UniqueIdRegex { get; } = new Regex(@"^[a-zA-Z0-9]{32}$");
-
- public const int MaxLength = 26;
-
- protected override (bool, string) DoValidate(string value)
- {
- if (value.Length == 0)
- {
- return (false, MessageEmptyString);
- }
-
- if (value.Length > MaxLength)
- {
- return (false, MessageTooLong);
- }
-
- foreach ((char c, int i) in value.Select((c, i) => (c, i)))
- {
- if (!(char.IsLetterOrDigit(c) || c == '-' || c == '_'))
- {
- return (false, MessageInvalidChar);
- }
- }
-
- // Currently name can't be longer than 26. So this is not needed. But reserve it for future use.
- if (UniqueIdRegex.IsMatch(value))
- {
- return (false, MessageUnqiueId);
- }
-
- return (true, GetSuccessMessage());
- }
- }
-}