aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web/Attributes
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2021-01-19 21:46:06 +0200
committertranstrike <transtrike@gmail.com>2021-01-19 21:46:06 +0200
commit8560caa13b7f7d0e80ee712c77efc59a80e8935c (patch)
tree02643afdd46122dfd904fbb8632117a5494081a8 /src/DevHive.Web/Attributes
parent661c3194b750e42146e9e28a33da08419b2b2cea (diff)
downloadDevHive-8560caa13b7f7d0e80ee712c77efc59a80e8935c.tar
DevHive-8560caa13b7f7d0e80ee712c77efc59a80e8935c.tar.gz
DevHive-8560caa13b7f7d0e80ee712c77efc59a80e8935c.zip
Added attributes to the Web models for validations
Diffstat (limited to 'src/DevHive.Web/Attributes')
-rw-r--r--src/DevHive.Web/Attributes/GoodPasswordModelValidation.cs24
-rw-r--r--src/DevHive.Web/Attributes/OnlyAlphanumericsModelValidation.cs20
-rw-r--r--src/DevHive.Web/Attributes/OnlyLettersModelValidation.cs20
3 files changed, 64 insertions, 0 deletions
diff --git a/src/DevHive.Web/Attributes/GoodPasswordModelValidation.cs b/src/DevHive.Web/Attributes/GoodPasswordModelValidation.cs
new file mode 100644
index 0000000..7d6a1ea
--- /dev/null
+++ b/src/DevHive.Web/Attributes/GoodPasswordModelValidation.cs
@@ -0,0 +1,24 @@
+using System;
+using System.ComponentModel.DataAnnotations;
+
+namespace DevHive.Web.Attributes
+{
+ public class GoodPassword : ValidationAttribute
+ {
+ public override bool IsValid(object value)
+ {
+ var stringValue = (string)value;
+
+ for (int i = 0; i < stringValue.Length; i++)
+ {
+ if (Char.IsDigit(stringValue[i]))
+ {
+ base.ErrorMessage = "Password must be atleast 5 characters long!";
+ return stringValue.Length >= 5;
+ }
+ }
+ base.ErrorMessage = "Password must contain atleast 1 digit!";
+ return false;
+ }
+ }
+}
diff --git a/src/DevHive.Web/Attributes/OnlyAlphanumericsModelValidation.cs b/src/DevHive.Web/Attributes/OnlyAlphanumericsModelValidation.cs
new file mode 100644
index 0000000..26e0733
--- /dev/null
+++ b/src/DevHive.Web/Attributes/OnlyAlphanumericsModelValidation.cs
@@ -0,0 +1,20 @@
+using System;
+using System.ComponentModel.DataAnnotations;
+
+namespace DevHive.Web.Attributes
+{
+ 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/Attributes/OnlyLettersModelValidation.cs b/src/DevHive.Web/Attributes/OnlyLettersModelValidation.cs
new file mode 100644
index 0000000..07afee9
--- /dev/null
+++ b/src/DevHive.Web/Attributes/OnlyLettersModelValidation.cs
@@ -0,0 +1,20 @@
+using System;
+using System.ComponentModel.DataAnnotations;
+
+namespace DevHive.Web.Attributes
+{
+ 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;
+ }
+ }
+}