aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Models
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-08-08 16:12:34 +0800
committercrupest <crupest@outlook.com>2020-08-08 16:12:34 +0800
commitdc64b04f1ba8c6e4c1d9605fbb4971b2d8eb3d89 (patch)
treeaf3fe505853e81240d2006866d0040bd6fb069ba /Timeline/Models
parentdb65d0c37ace61701deec5cc9cd74239208e0935 (diff)
downloadtimeline-dc64b04f1ba8c6e4c1d9605fbb4971b2d8eb3d89.tar.gz
timeline-dc64b04f1ba8c6e4c1d9605fbb4971b2d8eb3d89.tar.bz2
timeline-dc64b04f1ba8c6e4c1d9605fbb4971b2d8eb3d89.zip
Add unique id test in name validator.
Diffstat (limited to 'Timeline/Models')
-rw-r--r--Timeline/Models/Validation/NameValidator.cs9
1 files changed, 9 insertions, 0 deletions
diff --git a/Timeline/Models/Validation/NameValidator.cs b/Timeline/Models/Validation/NameValidator.cs
index dec2b872..b74c40b7 100644
--- a/Timeline/Models/Validation/NameValidator.cs
+++ b/Timeline/Models/Validation/NameValidator.cs
@@ -1,10 +1,13 @@
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)
@@ -27,6 +30,12 @@ namespace Timeline.Models.Validation
}
}
+ // 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());
}
}