diff --git a/Controllers/usersController.cs b/Controllers/usersController.cs index 1d5adb6..d0073a7 100644 --- a/Controllers/usersController.cs +++ b/Controllers/usersController.cs @@ -17,68 +17,84 @@ namespace WebApplication1.Controllers { private newswebappEntities db = new newswebappEntities(); - private void ValidatePassword(string password, string confirmPassword) + private int ValidatePassword(string password, string confirmPassword) { if (string.IsNullOrWhiteSpace(password)) { ModelState.AddModelError("", "Password cannot be empty"); + return 1; + } else { if (password != confirmPassword) { ModelState.AddModelError("", "Passwords don't match"); + return 1; + } if (password.Length < 8) { ModelState.AddModelError("", "Password must be at least 8 characters long"); + return 1; } if (!password.Any(char.IsUpper)) { ModelState.AddModelError("", "Password must contain at least one uppercase letter"); + return 1; } if (!password.Any(char.IsLower)) { ModelState.AddModelError("", "Password must contain at least one lowercase letter"); + return 1; } if (!password.Any(char.IsDigit)) { ModelState.AddModelError("", "Password must contain at least one digit"); + return 1; } if (!password.Any(ch => !char.IsLetterOrDigit(ch))) { ModelState.AddModelError("", "Password must contain at least one special character"); + return 1; } + + return 0; } } - private void ValidateUsername(string username) + private int ValidateUsername(string username) { if (string.IsNullOrWhiteSpace(username)) { ModelState.AddModelError("", "Username cannot be empty"); + return 1; } else { if (username.Length < 3) { ModelState.AddModelError("", "Username must be at least 3 characters long"); + return 1; } if (username.Length > 20) { ModelState.AddModelError("", "Username must not exceed 20 characters"); + return 1; } if (!username.All(char.IsLetterOrDigit)) { ModelState.AddModelError("", "Username can only contain letters and digits"); + return 1; } + return 0; } } @@ -152,8 +168,13 @@ namespace WebApplication1.Controllers { if (ModelState.IsValid) { - ValidatePassword(user.password, Request.Form["ConfirmPassword"]); - ValidateUsername(user.usename); + var cpass = Request.Form["ConfirmPassword"]; + var valpass = ValidatePassword(user.password, cpass); + var valuser = ValidateUsername(user.usename); + if (valpass == 1 || valuser == 1) + { + return View(); + } //check if the username exists var check = db.users.FirstOrDefault(u => u.usename == user.usename); //checks username and password field in form diff --git a/Media/news/YoUypscYRW.jpg b/Media/news/YoUypscYRW.jpg new file mode 100644 index 0000000..be90bc6 Binary files /dev/null and b/Media/news/YoUypscYRW.jpg differ diff --git a/Views/users/Register.cshtml b/Views/users/Register.cshtml index 5c93910..146c697 100644 --- a/Views/users/Register.cshtml +++ b/Views/users/Register.cshtml @@ -47,7 +47,7 @@