diff --git a/Webzine.Business/TitreAdminService.cs b/Webzine.Business/TitreAdminService.cs
index 111ad69..e23af11 100644
--- a/Webzine.Business/TitreAdminService.cs
+++ b/Webzine.Business/TitreAdminService.cs
@@ -2,8 +2,8 @@ namespace Webzine.Business;
using Microsoft.Extensions.Logging;
-using Webzine.Business.Contracts.Dto;
using Webzine.Business.Contracts;
+using Webzine.Business.Contracts.Dto;
using Webzine.Entity;
using Webzine.Repository.Contracts;
diff --git a/Webzine.WebApplication/Areas/Administration/Controllers/TitreController.cs b/Webzine.WebApplication/Areas/Administration/Controllers/TitreController.cs
index e3f7bf2..3f33a2d 100644
--- a/Webzine.WebApplication/Areas/Administration/Controllers/TitreController.cs
+++ b/Webzine.WebApplication/Areas/Administration/Controllers/TitreController.cs
@@ -5,9 +5,9 @@ using Business.Contracts;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering;
+using Webzine.Business.Contracts.Dto;
using Webzine.Entity;
using Webzine.Repository.Contracts;
-using Webzine.Business.Contracts.Dto;
using Webzine.WebApplication.Areas.Administration.ViewModels.Titre;
///
diff --git a/Webzine.WebApplication/Areas/Administration/ViewModels/Artiste/ArtisteCreateViewModel.cs b/Webzine.WebApplication/Areas/Administration/ViewModels/Artiste/ArtisteCreateViewModel.cs
index bdb43de..68dedd6 100644
--- a/Webzine.WebApplication/Areas/Administration/ViewModels/Artiste/ArtisteCreateViewModel.cs
+++ b/Webzine.WebApplication/Areas/Administration/ViewModels/Artiste/ArtisteCreateViewModel.cs
@@ -10,12 +10,15 @@
///
/// Nom de l'artiste.
///
- [Required]
+ [Required(ErrorMessage = "Le nom de l'auteur est obligatoire.")]
+ [StringLength(50, ErrorMessage = "Le nom ne doit pas dépasser 50 caractères.")]
public string Nom { get; set; }
///
/// Biographie de l'artiste.
- ///
+ /// *
+ [Required(ErrorMessage = "La biographie ne peux pas etre vide.")]
+
public string Biographie { get; set; }
}
}
\ No newline at end of file
diff --git a/Webzine.WebApplication/Areas/Administration/ViewModels/Artiste/ArtisteEditViewModel.cs b/Webzine.WebApplication/Areas/Administration/ViewModels/Artiste/ArtisteEditViewModel.cs
index bf2d503..0d34c6f 100644
--- a/Webzine.WebApplication/Areas/Administration/ViewModels/Artiste/ArtisteEditViewModel.cs
+++ b/Webzine.WebApplication/Areas/Administration/ViewModels/Artiste/ArtisteEditViewModel.cs
@@ -16,12 +16,15 @@
///
/// Nom de l'artiste.
///
- [Required]
+ [Required(ErrorMessage = "Le nom de l'auteur est obligatoire.")]
+ [StringLength(50, ErrorMessage = "Le nom ne doit pas dépasser 50 caractères.")]
+
public string Nom { get; set; }
///
/// Biographie de l'artiste.
///
+ [Required(ErrorMessage = "Le contenu de la biographie ne peut pas être vide.")]
public string Biographie { get; set; }
}
}
\ No newline at end of file
diff --git a/Webzine.WebApplication/Areas/Administration/ViewModels/Styles/StyleCreateViewModel.cs b/Webzine.WebApplication/Areas/Administration/ViewModels/Styles/StyleCreateViewModel.cs
index 86abbde..2eba907 100644
--- a/Webzine.WebApplication/Areas/Administration/ViewModels/Styles/StyleCreateViewModel.cs
+++ b/Webzine.WebApplication/Areas/Administration/ViewModels/Styles/StyleCreateViewModel.cs
@@ -14,7 +14,7 @@ namespace Webzine.WebApplication.Areas.Administration.ViewModels.Style
///
/// Obtient ou définit le libellé du style.
///
- [Required]
+ [Required(ErrorMessage = "Le libelle du style est obligatoire.")]
public string Libelle { get; set; }
}
}
\ No newline at end of file
diff --git a/Webzine.WebApplication/Areas/Administration/ViewModels/Styles/StyleEditViewModel.cs b/Webzine.WebApplication/Areas/Administration/ViewModels/Styles/StyleEditViewModel.cs
index 093c130..671098c 100644
--- a/Webzine.WebApplication/Areas/Administration/ViewModels/Styles/StyleEditViewModel.cs
+++ b/Webzine.WebApplication/Areas/Administration/ViewModels/Styles/StyleEditViewModel.cs
@@ -19,7 +19,7 @@ namespace Webzine.WebApplication.Areas.Administration.ViewModels.Style
///
/// Obtient ou definit le libelle du style.
///
- [Required]
+ [Required(ErrorMessage = "Le libelle du style est obligatoire.")]
public string Libelle { get; set; }
}
}
\ No newline at end of file
diff --git a/Webzine.WebApplication/Areas/Administration/ViewModels/Titre/AdminTitreForm.cs b/Webzine.WebApplication/Areas/Administration/ViewModels/Titre/AdminTitreForm.cs
index 5305732..22c5fd9 100644
--- a/Webzine.WebApplication/Areas/Administration/ViewModels/Titre/AdminTitreForm.cs
+++ b/Webzine.WebApplication/Areas/Administration/ViewModels/Titre/AdminTitreForm.cs
@@ -1,5 +1,7 @@
namespace Webzine.WebApplication.Areas.Administration.ViewModels.Titre;
+using System.ComponentModel.DataAnnotations;
+
using Microsoft.AspNetCore.Mvc.Rendering;
///
@@ -15,36 +17,47 @@ public class AdminTitreForm
///
/// Définit l'identifiant de l'artiste associé au titre.
///
+ [Required(ErrorMessage = "L'id de l'artiste est obligatoire.")]
+
public int IdArtiste { get; set; }
///
/// Définit le titre du titre.
///
+ [Required(ErrorMessage = "Le labelle est obligatoire.")]
+
public string Libelle { get; set; }
///
/// Définit le nom de l'album associé au titre.
///
+ [Required(ErrorMessage = "L'album est obligatoire.")]
+
public string Album { get; set; }
///
/// Définit la chronique du titre, peut-être une critique ou une description du titre.
///
+ [Required(ErrorMessage = "La chronique est obligatoire.")]
public string Chronique { get; set; }
///
/// Définit la date de sortie du titre.
///
+ [Required(ErrorMessage = "La date de est obligatoire.")]
+
public DateTime DateSortie { get; set; }
///
/// Définit la durée du titre en secondes.
///
+ [Required(ErrorMessage = "La durée est obligatoire.")]
public int Duree { get; set; }
///
/// Définit l'URL de la jaquette de l'album associé au titre.
///
+ [Required(ErrorMessage = "L'Url de la jaquette est obligatoire.")]
public string UrlJaquette { get; set; }
///
diff --git a/Webzine.WebApplication/Areas/Administration/Views/Artiste/Create.cshtml b/Webzine.WebApplication/Areas/Administration/Views/Artiste/Create.cshtml
index 38f842b..b9dc4ca 100644
--- a/Webzine.WebApplication/Areas/Administration/Views/Artiste/Create.cshtml
+++ b/Webzine.WebApplication/Areas/Administration/Views/Artiste/Create.cshtml
@@ -11,6 +11,8 @@
diff --git a/Webzine.WebApplication/Configuration/Middlewares.cs b/Webzine.WebApplication/Configuration/Middlewares.cs
index bbfe61e..3a0e533 100644
--- a/Webzine.WebApplication/Configuration/Middlewares.cs
+++ b/Webzine.WebApplication/Configuration/Middlewares.cs
@@ -10,4 +10,4 @@ public class EfPerformanceOptions
/// Valeur par défaut : 200 ms.
///
public int SeuilMs { get; set; } = 200;
-}
+}
\ No newline at end of file
diff --git a/Webzine.WebApplication/Program.cs b/Webzine.WebApplication/Program.cs
index 6ad2b22..32c3737 100644
--- a/Webzine.WebApplication/Program.cs
+++ b/Webzine.WebApplication/Program.cs
@@ -33,6 +33,7 @@ try
options.Filters.Add();
options.Filters.Add();
})
+
// Ajoute la compilation des vues lors de l'execution de l'application.
// Cela nous evite de recompiler l'application a chaque modification de vue.
// Necessite le package Nuget Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.