From 401a0c86054711bf5ebdce7d7717c9b59bffc2fa Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 29 Jan 2020 18:38:41 +0800 Subject: ... --- Timeline/Models/Validation/NicknameValidator.cs | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Timeline/Models/Validation/NicknameValidator.cs (limited to 'Timeline/Models/Validation/NicknameValidator.cs') diff --git a/Timeline/Models/Validation/NicknameValidator.cs b/Timeline/Models/Validation/NicknameValidator.cs new file mode 100644 index 00000000..f6626a2a --- /dev/null +++ b/Timeline/Models/Validation/NicknameValidator.cs @@ -0,0 +1,26 @@ +using System; +using static Timeline.Resources.Models.Validation.NicknameValidator; + +namespace Timeline.Models.Validation +{ + public class NicknameValidator : Validator + { + [System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "Already checked in base.")] + protected override (bool, string) DoValidate(string value) + { + if (value.Length > 10) + return (false, MessageTooLong); + + return (true, GetSuccessMessage()); + } + } + + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)] + public class NicknameAttribute : ValidateWithAttribute + { + public NicknameAttribute() : base(typeof(NicknameValidator)) + { + + } + } +} -- cgit v1.2.3