diff options
Diffstat (limited to 'Timeline/Models')
-rw-r--r-- | Timeline/Models/User.cs | 1 | ||||
-rw-r--r-- | Timeline/Models/Validation/NicknameValidator.cs | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/Timeline/Models/User.cs b/Timeline/Models/User.cs index 05395022..2cead892 100644 --- a/Timeline/Models/User.cs +++ b/Timeline/Models/User.cs @@ -12,6 +12,7 @@ namespace Timeline.Models #region secret
+ public long? Id { get; set; }
public string? Password { get; set; }
public long? Version { get; set; }
#endregion secret
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<string>
+ {
+ [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))
+ {
+
+ }
+ }
+}
|