aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web
diff options
context:
space:
mode:
Diffstat (limited to 'src/DevHive.Web')
-rw-r--r--src/DevHive.Web/Models/Identity/User/RegisterWebModel.cs22
-rw-r--r--src/DevHive.Web/Models/Identity/Validation/OnlyAlphanumericsModelValidation.cs20
-rw-r--r--src/DevHive.Web/Models/Identity/Validation/OnlyLettersModelValidation.cs20
3 files changed, 62 insertions, 0 deletions
diff --git a/src/DevHive.Web/Models/Identity/User/RegisterWebModel.cs b/src/DevHive.Web/Models/Identity/User/RegisterWebModel.cs
index aafdf61..c82263e 100644
--- a/src/DevHive.Web/Models/Identity/User/RegisterWebModel.cs
+++ b/src/DevHive.Web/Models/Identity/User/RegisterWebModel.cs
@@ -1,11 +1,33 @@
+using System.ComponentModel.DataAnnotations;
+using DevHive.Web.Models.Identity.Validation;
+
namespace DevHive.Web.Models.Identity.User
{
public class RegisterWebModel
{
+ [Required]
+ [MinLength(3)]
+ [MaxLength(50)]
+ [OnlyAlphanumerics(ErrorMessage = "Username can only contain letters and digits!")]
public string UserName { get; set; }
+
+ [Required]
+ [EmailAddress]
public string Email { get; set; }
+
+ [Required]
+ [MinLength(3)]
+ [MaxLength(30)]
+ [OnlyLetters(ErrorMessage = "First name can only contain letters!")]
public string FirstName { get; set; }
+
+ [Required]
+ [MinLength(3)]
+ [MaxLength(30)]
+ [OnlyLetters(ErrorMessage = "Last name can only contain letters!")]
public string LastName { get; set; }
+
+ [Required]
public string Password { get; set; }
}
}
diff --git a/src/DevHive.Web/Models/Identity/Validation/OnlyAlphanumericsModelValidation.cs b/src/DevHive.Web/Models/Identity/Validation/OnlyAlphanumericsModelValidation.cs
new file mode 100644
index 0000000..5c8c66c
--- /dev/null
+++ b/src/DevHive.Web/Models/Identity/Validation/OnlyAlphanumericsModelValidation.cs
@@ -0,0 +1,20 @@
+using System;
+using System.ComponentModel.DataAnnotations;
+
+namespace DevHive.Web.Models.Identity.Validation
+{
+ public class OnlyAlphanumerics : ValidationAttribute
+ {
+ public override bool IsValid(object value)
+ {
+ var stringValue = (string)value;
+
+ foreach (char ch in stringValue)
+ {
+ if (!Char.IsLetterOrDigit(ch))
+ return false;
+ }
+ return true;
+ }
+ }
+}
diff --git a/src/DevHive.Web/Models/Identity/Validation/OnlyLettersModelValidation.cs b/src/DevHive.Web/Models/Identity/Validation/OnlyLettersModelValidation.cs
new file mode 100644
index 0000000..29a995a
--- /dev/null
+++ b/src/DevHive.Web/Models/Identity/Validation/OnlyLettersModelValidation.cs
@@ -0,0 +1,20 @@
+using System;
+using System.ComponentModel.DataAnnotations;
+
+namespace DevHive.Web.Models.Identity.Validation
+{
+ public class OnlyLetters : ValidationAttribute
+ {
+ public override bool IsValid(object value)
+ {
+ var stringValue = (string)value;
+
+ foreach (char ch in stringValue)
+ {
+ if (!Char.IsLetter(ch))
+ return false;
+ }
+ return true;
+ }
+ }
+}