Skip to content

Commit 92eb745

Browse files
committed
fix: handle server-side password validation and display field errors on registration
Render data.errors.password into #passwordError via showHtmlError, surface field-specific validation errors in the global error area, and improve logging/fallback for general error messages.
1 parent b2c98fb commit 92eb745

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

src/main/resources/static/js/user/register.js

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,15 @@ async function handleRegistration(event) {
111111

112112
if (response.ok && data.success) {
113113
window.location.href = data.redirectUrl;
114+
} else if (data.errors && data.errors.password) {
115+
// Show password-specific errors from validation
116+
const passwordError = document.querySelector("#passwordError");
117+
console.log("Password validation error: ", data.errors.password);
118+
119+
const errorMessage = data.errors.password;
120+
showHtmlError(passwordError, `<div>• ${errorMessage}</div>`);
114121
} else if (data.code === 1 && containsPasswordError(data)) {
115-
// Show password-specific errors
122+
// Show password-specific errors from business logic (old format)
116123
const passwordError = document.querySelector("#passwordError");
117124
console.log("Password Error are: ", data.messages);
118125

@@ -125,10 +132,17 @@ async function handleRegistration(event) {
125132
.join("");
126133

127134
showHtmlError(passwordError, formattedErrorMessages);
135+
} else if (data.errors) {
136+
// Show field-specific errors in global error area
137+
console.log("Validation errors: ", data.errors);
138+
const errorMessages = Object.entries(data.errors)
139+
.map(([field, message]) => `${field}: ${message}`)
140+
.join("<br>");
141+
showMessage(globalError, errorMessages, "alert-danger");
128142
} else {
129-
console.log("Password Error are: ", data.messages);
143+
console.log("General error: ", data.messages || data.message);
130144
const errorMessage =
131-
data.messages?.join(" ") || "Registration failed. Please try again.";
145+
data.messages?.join(" ") || data.message || "Registration failed. Please try again.";
132146
showMessage(globalError, errorMessage, "alert-danger");
133147
}
134148
} catch (error) {

0 commit comments

Comments
 (0)