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 @@
+ +
@@ -19,6 +21,8 @@
+ +
diff --git a/Webzine.WebApplication/Areas/Administration/Views/Artiste/_Form.cshtml b/Webzine.WebApplication/Areas/Administration/Views/Artiste/_Form.cshtml index 960ad3f..c7fbf2e 100644 --- a/Webzine.WebApplication/Areas/Administration/Views/Artiste/_Form.cshtml +++ b/Webzine.WebApplication/Areas/Administration/Views/Artiste/_Form.cshtml @@ -6,6 +6,8 @@
+ +
@@ -14,7 +16,10 @@
+ +
+ diff --git a/Webzine.WebApplication/Areas/Administration/Views/Titre/_Form.cshtml b/Webzine.WebApplication/Areas/Administration/Views/Titre/_Form.cshtml index d1f4f8c..bc44d5a 100644 --- a/Webzine.WebApplication/Areas/Administration/Views/Titre/_Form.cshtml +++ b/Webzine.WebApplication/Areas/Administration/Views/Titre/_Form.cshtml @@ -8,6 +8,8 @@ + + @@ -16,6 +18,7 @@
+
@@ -24,6 +27,7 @@
+
@@ -34,6 +38,8 @@ + + @@ -55,6 +61,8 @@ class="form-control" type="number" min="0" /> + + seconds @@ -66,6 +74,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.