diff --git a/RazorPagesMovie/Pages/Bewerbung.cshtml b/RazorPagesMovie/Pages/Bewerbung.cshtml
index b8ba261..f3fbe3e 100644
--- a/RazorPagesMovie/Pages/Bewerbung.cshtml
+++ b/RazorPagesMovie/Pages/Bewerbung.cshtml
@@ -958,7 +958,7 @@
@@ -972,7 +972,7 @@
@@ -1013,7 +1013,7 @@
name="message"
cols="30"
rows="10"
- placeholder="Deine Nachricht*"
+ placeholder="Nachricht*"
required>
@@ -1082,27 +1082,38 @@
messageBox.style.display = "block";
}
+ function isValidPhone(value) {
+ if (!value) return true;
+ var digitCount = (value.match(/\d/g) || []).length;
+ return /^[0-9+\-\s()]+$/.test(value) && digitCount >= 7 && digitCount <= 15;
+ }
+
form.addEventListener("submit", function (event) {
event.preventDefault();
- submitButton.disabled = true;
-
var payload = {
name: form.querySelector("[name=name]").value,
email: form.querySelector("[name=email]").value,
- phone: form.querySelector("[name=phone]").value,
+ phone: form.querySelector("[name=phone]").value.trim(),
subject: form.querySelector("[name=subject]").value,
message: form.querySelector("[name=message]").value
};
- fetch("/api/contact", {
+ if (!isValidPhone(payload.phone)) {
+ showMessage("Bitte gib eine gültige Telefonnummer ein.", false);
+ return;
+ }
+
+ submitButton.disabled = true;
+
+ fetch("/api/v1/contact", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload)
})
.then(function (response) {
if (response.ok) {
- showMessage("Danke für deine Nachricht! Ich melde mich so schnell wie möglich.", true);
+ showMessage("Danke für die Nachricht! Ich melde mich so schnell wie möglich.", true);
form.reset();
} else {
showMessage("Beim Senden ist ein Fehler aufgetreten. Bitte versuche es erneut.", false);