diff --git a/kristofersxyz/apps/main/urls.py b/kristofersxyz/apps/main/urls.py index 32298c2..05c7645 100644 --- a/kristofersxyz/apps/main/urls.py +++ b/kristofersxyz/apps/main/urls.py @@ -6,4 +6,5 @@ urlpatterns = [ path("", views.index, name="home"), path("karbs", views.karbs, name="karbs"), path("lightsaber", views.lightsaber, name="lightsaber"), + path("validation", views.validation, name="validation"), ] diff --git a/kristofersxyz/apps/main/views.py b/kristofersxyz/apps/main/views.py index 4b722ee..2525d2a 100644 --- a/kristofersxyz/apps/main/views.py +++ b/kristofersxyz/apps/main/views.py @@ -16,3 +16,7 @@ def projects(request): def karbs(request): """Karbs install script""" return redirect("/projects/karbs") + + +def validation(request): + return render(request, "main/validation.html", {"title": "Validation"}) diff --git a/kristofersxyz/apps/projects/urls.py b/kristofersxyz/apps/projects/urls.py index 586b48f..fb96786 100644 --- a/kristofersxyz/apps/projects/urls.py +++ b/kristofersxyz/apps/projects/urls.py @@ -6,5 +6,5 @@ urlpatterns = [ path("", views.projects, name="projects"), path("karbs", views.karbs, name="karbs"), path("karbs/instructions", views.instructions, name="instructions"), - path("traffic-light-detector", views.traffic_light_detector, name="traffic-light-detector") + path("traffic-light-detector", views.traffic_light_detector, name="traffic-light-detector"), ] diff --git a/static/main/css/button.css b/static/main/css/button.css index 6d69408..b99bfb2 100644 --- a/static/main/css/button.css +++ b/static/main/css/button.css @@ -13,7 +13,6 @@ appearance: none; text-decoration: none; transition-property: color, background-color, border-color; - max-width: 3rem; } .btn { diff --git a/static/main/css/validation.css b/static/main/css/validation.css new file mode 100644 index 0000000..61c9732 --- /dev/null +++ b/static/main/css/validation.css @@ -0,0 +1,21 @@ +.valid { + color: green; +} + +.not-valid { + color: red; +} + +#check-list li { + list-style: square; +} + +#register-form { + display: grid; + place-items: center; + margin-top: 5rem; +} + +#register-form > input { + margin-top: 1rem; +} diff --git a/static/main/js/validation.js b/static/main/js/validation.js new file mode 100644 index 0000000..86b914e --- /dev/null +++ b/static/main/js/validation.js @@ -0,0 +1,95 @@ +$(document).ready(function() { + let register_form = $("#register-form") + let username = $("#username") + let password = $("#password") + let confirm_password = $("#confirm-password") + let check_block = $("#check-block") + let valid_username = false + let valid_password = false + let valid_password_match = false + + const CHECKS = { + length: "^.{10,}", + uppercase: "[A-Z]", + lowercase: "[a-z]", + numbers: "[0-9]", + symbol: "[^A-Za-z0-9]", + } + + const TEXT = { + length: "10 Characters", + uppercase: "1 Uppercase Letter", + lowercase: "1 Lowercase Letter", + numbers: "1 Digit", + symbol: "1 Symbol", + } + + username.change(function() { + if (username.val() === "") { + valid_username = false + } else { + valid_username = true + } + submit() + }) + + password.change(function() { + valid_password = true + check_block.empty() + check_block.append($("
").text("Password must consist of:")) + check_block.append($("
", { id: "password-match", class: "not-valid" }).text( + "Passwords do not match" + ) + ) + valid_password_match = false + } else { + valid_password_match = true + } + submit() + } + + function submit() { + $("#submit-btn").remove() + if (valid_username && valid_password && valid_password_match) { + register_form.append( + $("", { + type: "submit", + value: "Register", + id: "submit-btn", + class: "btn btn-primary", + }) + ) + } else { + $("#submit-btn").remove() + } + } +}) + +register_form.submit(function(e) { + e.preventDefault() +}) diff --git a/templates/main/validation.html b/templates/main/validation.html new file mode 100644 index 0000000..fd5587c --- /dev/null +++ b/templates/main/validation.html @@ -0,0 +1,32 @@ +{% extends "layout.html" %} +{% load static %} +{% block title %}{{ title }}{% endblock %} +{% block meta %} + + +{% endblock %} +{% block content %} +
+{% endblock %} diff --git a/templates/projects/projects.html b/templates/projects/projects.html index 78f671f..a7fd554 100644 --- a/templates/projects/projects.html +++ b/templates/projects/projects.html @@ -88,6 +88,18 @@ + +Subject to change.
+