Files
maquette_backoffice/blog/js/modifier_article.js

75 lines
1.9 KiB
JavaScript

const form = document.getElementById("editArticleForm");
const messages = document.getElementById("messages");
const imgField = document.getElementById("articleImage");
const titleField = document.getElementById("articleTitle");
const contentField = document.getElementById("articleContent");
const categoryField = document.getElementById("articleCategory");
const publishedField = document.getElementById("articlePublished");
// Simulation BDD pour doublons
const titresExistants = [
"article de test",
"nouveautés chiens",
"actualité du mois"
];
function showMessage(type, text) {
messages.innerHTML = "";
const div = document.createElement("div");
div.className = `alert alert-${type}`;
div.textContent = text;
messages.appendChild(div);
}
function imageValide(file) {
if (!file) return true;
return ["image/jpeg", "image/png", "image/gif"].includes(file.type);
}
form.addEventListener("submit", function (e) {
e.preventDefault();
messages.innerHTML = "";
const titre = titleField.value.trim().toLowerCase();
const contenu = tinymce.get("articleContent").getContent().trim();
const image = imgField.files[0];
// Titre obligatoire
if (!titre) {
showMessage("danger", "Le titre de l'article est obligatoire.");
return;
}
// Titre existant
if (titresExistants.includes(titre)) {
showMessage("danger", "Ce titre existe déjà. Veuillez en choisir un autre.");
return;
}
// Contenu obligatoire
if (!contenu) {
showMessage("danger", "Le contenu de l'article ne peut pas être vide.");
return;
}
// Image valide
if (!imageValide(image)) {
showMessage("danger", "Format d'image invalide. JPG, PNG ou GIF uniquement.");
return;
}
// Succès
showMessage("success", "L'article a été modifié avec succès !");
// Redirection
setTimeout(() => {
window.location.href = "../../blog/html/accueil_blog.html";
}, 1500);
});