csv should now be checked when pressing the "csv verarbeiten" button
This commit is contained in:
parent
531fc8e741
commit
0c1399d583
@ -441,30 +441,46 @@ declare(strict_types=1);
|
||||
});
|
||||
}
|
||||
|
||||
// Intercept submit: require preview validation or loaded file to have been checked
|
||||
form.addEventListener('submit', function (e) {
|
||||
// Intercept submit: read file if needed, validate preview passwords, then submit
|
||||
function handleCsvSubmit(e) {
|
||||
e.preventDefault();
|
||||
const delim = document.getElementById('csvdelimiter').value || ',';
|
||||
const file = fileInput.files && fileInput.files[0];
|
||||
// If no preview is present, require user to load preview first to ensure validation
|
||||
|
||||
const proceedWithText = function (text) {
|
||||
const res = renderCsvPreview(text, delim);
|
||||
if (res.invalidCount > 0) {
|
||||
alert('Import abgebrochen: Es gibt ungültige Passwörter in der CSV-Vorschau. Bitte korrigieren Sie diese zuerst.');
|
||||
return;
|
||||
}
|
||||
// ensure preview textarea contains the text we'll submit
|
||||
preview.value = text;
|
||||
// Remove handler to avoid re-validation loop and submit the form
|
||||
form.removeEventListener('submit', handleCsvSubmit);
|
||||
form.submit();
|
||||
};
|
||||
|
||||
if (preview.value.trim() === '') {
|
||||
if (file) {
|
||||
e.preventDefault();
|
||||
alert('Bitte klicken Sie auf "In Vorschau laden" bevor Sie die CSV verarbeiten, damit Passwörter validiert werden.');
|
||||
return false;
|
||||
const reader = new FileReader();
|
||||
reader.onload = function (ev) {
|
||||
const text = ev.target.result || '';
|
||||
proceedWithText(text);
|
||||
};
|
||||
reader.onerror = function () {
|
||||
alert('Fehler beim Lesen der Datei. Bitte versuchen Sie es erneut.');
|
||||
};
|
||||
reader.readAsText(file, 'utf-8');
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
alert('Die CSV-Vorschau ist leer. Bitte wählen Sie eine Datei oder fügen Sie CSV-Inhalt ein.');
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
|
||||
const res = renderCsvPreview(preview.value, delim);
|
||||
if (res.invalidCount > 0) {
|
||||
e.preventDefault();
|
||||
alert('Import abgebrochen: Es gibt ungültige Passwörter in der CSV-Vorschau. Bitte korrigieren Sie diese zuerst.');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
proceedWithText(preview.value);
|
||||
}
|
||||
|
||||
form.addEventListener('submit', handleCsvSubmit);
|
||||
})();
|
||||
</script>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user