Witam, pewnie to banalne pytanie, ale to już godzina, jak nie mogę znaleźć błędu. Próbuję dołączyć błędy walidacji do widoku po wykonaniu żądania AJAX'em. Mój kod:
let form = document.querySelector('form');
form.addEventListener('submit', makeRequest);
function makeRequest(event) {
event.preventDefault();
let username = document.getElementById('username').value;
let email = document.getElementById('email').value;
let password = document.getElementById('password').value;
let password_confirmation = document.getElementById('password_confirmation').value;
let name = document.getElementById('name').value;
let data = {
username: username,
email: email,
password: password,
password_confirmation: password_confirmation,
name: name,
_token: _token
};
$.ajax({
url: registerUrl,
type: 'POST',
data: data,
dataType: 'json',
error: function(data)
{
if (data.status === 422) {
showValidationErrors(data.responseJSON.errors);
} else {
// Error
// Incorrect credentials
// alert('Incorrect credentials. Please try again.')
}
}
});
}
function showValidationErrors(errors) {
for (let field in errors) {
let errorDiv = document.createElement('div');
errorDiv.className = 'invalid-feedback';
errorDiv.textContent = errors[field][0];
// console.log(errorDiv);
let formGroup = document.getElementById(field).parentNode;
formGroup.appendChild(errorDiv);
// console.log(formGroup);
}
}
W konsoli elementy wypisywane są poprawnie, ale w ogóle ich nie widzę ani w widoku, ani w kodzie html.