Skip to content

Commit dd2e96b

Browse files
committed
Update lab5
1 parent 2f8ab42 commit dd2e96b

File tree

2 files changed

+60
-6
lines changed

2 files changed

+60
-6
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
//import * as fs from "fs";
2+
import fs from 'fs';
3+
4+
document.getElementById('loginForm').addEventListener('submit', function(event) {
5+
event.preventDefault();
6+
7+
const user = {
8+
firstname : document.getElementById('first-name').value,
9+
lastname : document.getElementById('last-name').value,
10+
username : document.getElementById('username').value,
11+
password : document.getElementById('password').value,
12+
gender : document.getElementsByName('gender').value,
13+
topic : document.getElementById('topic').value,
14+
comment : document.getElementById('comment').value,
15+
conditions_accepted : document.getElementById('conditions').checked,
16+
}
17+
18+
const message = document.getElementById('message');
19+
20+
message.textContent = '';
21+
22+
regex = /[^A-Za-z0-9-_]/;
23+
if (regex.test(user.firstname) || regex.test(user.lastname) || regex.test(user.username)) {
24+
message.style.color = 'red';
25+
message.append('Eines der oberen drei Eingabefelder enthält ungültige Sonderzeichen. ');
26+
}
27+
28+
regex = /[!#_,+\-?]/;
29+
if (!regex.test(user.password)) {
30+
message.style.color = 'red';
31+
message.append('Passwort enthält keines der folgenden Zeichen: !#,+-_?. ');
32+
}
33+
34+
regex = /[0-9]/;
35+
if (!regex.test(user.password)) {
36+
message.style.color = 'red';
37+
message.append('Passwort enthält keine Zahl. ');
38+
}
39+
40+
if (!(user.conditions_accepted == true)) {
41+
message.style.color = 'red';
42+
message.append('Nutzungsbedingungen nicht akzeptiert. ');
43+
}
44+
45+
const data = JSON.stringify(user);
46+
47+
48+
FileSystem.writeFileSync("data.json", data);
49+
50+
});

labs/lab5/dynamic-site/registration.html

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
<div class="login-container">
1313
<h2>Login</h2>
1414
<form id="loginForm">
15-
<input type="text" id="first-name" placeholder="Vorname" required>
16-
<input type="text" id="last-name" placeholder="Nachname" required>
17-
<input type="text" id="username" placeholder="Benutzername" required>
18-
<input type="password" id="password" placeholder="Passwort" required>
15+
<input type="text" id="first-name" placeholder="Vorname" maxlength="20" required>
16+
<input type="text" id="last-name" placeholder="Nachname" maxlength="20" required>
17+
<input type="text" id="username" placeholder="Benutzername" maxlength="20" required>
18+
<input type="password" id="password" placeholder="Passwort" maxlength="20" minlength="8" required>
1919
<label for="male">Männlich</label>
2020
<input type="radio" id="male" name="gender" value="male" checked>
2121

@@ -30,15 +30,19 @@ <h2>Login</h2>
3030
<option value="flexbox">FlexBox</option>
3131
<option value="gridbox">GridBox</option>
3232
</select>
33-
<input type="text" id="comments" placeholder="Kommentare" required>
33+
<input type="text" id="comment" placeholder="Kommentar" maxlength="100">
3434
<label for="conditions"> Ich akzeptiere die Nutzungsbedingungen</label>
35-
<input type="checkbox" id="conditions" name="conditions_accepted" value="true">
35+
<input type="checkbox" id="conditions" name="conditions_accepted" value="yes">
3636

3737
<button type="submit">Registrieren</button>
3838
</form>
3939
<p id="message" style="color: red;"></p>
4040
</div>
4141

42+
<br>
43+
44+
<a href="index.html">Einloggen</a>
45+
4246
<script src="js/register.js"></script>
4347

4448
</body>

0 commit comments

Comments
 (0)