diff --git a/VeraxShield/VeraxShield/composants/authentification/modele/RequeteInscription.cs b/VeraxShield/VeraxShield/composants/authentification/modele/RequeteInscription.cs
index 9d99d90..d731368 100644
--- a/VeraxShield/VeraxShield/composants/authentification/modele/RequeteInscription.cs
+++ b/VeraxShield/VeraxShield/composants/authentification/modele/RequeteInscription.cs
@@ -1,10 +1,12 @@
using System.ComponentModel.DataAnnotations;
+using VeraxShield.composants.formulaires.modeles.attributsValidationCustoms;
namespace VeraxShield.composants.formulaires.modeles
{
public class RequeteInscription
{
[Required]
+ [RegularExpression("^[a-zA-Z0-9]+$", ErrorMessage = "Le mot de passe doit contenir uniquement des caractères alphanumériques.")]
public string MotDePasse { get; set; }
[Required]
@@ -12,15 +14,23 @@ namespace VeraxShield.composants.formulaires.modeles
public string MotDePasseConfirmation { get; set; }
[Required]
+ [RegularExpression("^[a-zA-Z]+$", ErrorMessage = "Le nom doit contenir uniquement des lettres.")]
+ [StringLength(20, ErrorMessage = "Le nom ne doit pas dépasser 20 caractères !")]
public string Nom { get; set; }
[Required]
+ [StringLength(20, ErrorMessage = "Le prénom ne doit pas dépasser 20 caractères !")]
+ [RegularExpression("^[a-zA-Z]+$", ErrorMessage = "Le prénom doit contenir uniquement des lettres.")]
public string Prenom {get; set;}
[Required]
+ [StringLength(20, ErrorMessage = "Le pseudo ne doit pas dépasser 20 caractères !")]
+ [RegularExpression("^[a-zA-Z0-9_]+$", ErrorMessage = "Le pseudo contient des caractères interdits.")]
+ [PseudoCorrect]
public string Pseudo { get; set; }
[Required]
+ [EmailAddress(ErrorMessage = "Veuillez entrer une adresse email valide.")]
public string Mail { get; set;}
}
}
diff --git a/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor b/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor
index a2b4552..7073900 100644
--- a/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor
+++ b/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor
@@ -1,58 +1,115 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+@using Blazorise.Components
+@using System.ComponentModel.DataAnnotations;
+
+
+
+
+
+
+
+
Ajouter un utilisateur
+
+
+
+
+
+
+ Pseudo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Prenom
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nom
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Role
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mot de passe
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor.cs b/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor.cs
index 1eaf185..5f49787 100644
--- a/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor.cs
+++ b/VeraxShield/VeraxShield/composants/formulaires/FormulaireAjout.razor.cs
@@ -1,7 +1,6 @@
-using System.Runtime.InteropServices;
+using Blazorise;
using Microsoft.AspNetCore.Components;
using VeraxShield.composants.formulaires.modeles;
-using VeraxShield.composants.formulaires.modeles.attributsValidationCustoms;
using VeraxShield.factories;
using VeraxShield.modele.utilisateurs;
using VeraxShield.services.UtilisateursDataService;
@@ -10,36 +9,38 @@ namespace VeraxShield.composants.formulaires
{
public partial class FormulaireAjout
{
- [Inject]
- private NavigationManager NavigationManager { get; set; }
+
+ [Parameter]
+ public Validations Validations {get; set;}
- public FormulaireAjoutModele Modele { get; set; }
+ public FormulaireAjoutModele Modele {get; set;}
[Inject]
- private IUtilisateursDataService utilisateursDataService { get; set; }
+ private NavigationManager NavigationManager {get; set;}
- public FormulaireAjout()
- {
+ [Inject]
+ private IUtilisateursDataService utilisateursDataService { get; set; }
- }
protected override async Task OnInitializedAsync()
{
- //PseudoCorrectAttribute.Initialiser(await this.utilisateursDataService.getAllUtilisateurs());
this.Modele = new FormulaireAjoutModele();
- this.Modele.IsBan = false;
-
await base.OnInitializedAsync();
}
- public async void ajouterUtilisateur()
+ public async Task OnSubmit()
{
- Utilisateur nouvelUtilisateur = UtilisateursFactory.toUtilisateur(this.Modele);
- await this.utilisateursDataService.AjouterUtilisateur(nouvelUtilisateur);
-
- //Console.WriteLine("Utilisateur bien ajouté !");
+ if (await this.Validations.ValidateAll())
+ {
+ Utilisateur nouvelUtilisateur = UtilisateursFactory.toUtilisateur(this.Modele);
+ await this.utilisateursDataService.AjouterUtilisateur(nouvelUtilisateur);
+ this.NavigationManager.NavigateTo("/utilisateurs/liste");
+ }
+ }
+ public async Task OnAnnulation()
+ {
this.NavigationManager.NavigateTo("/utilisateurs/liste");
}
}
-}
+}
\ No newline at end of file
diff --git a/VeraxShield/VeraxShield/composants/formulaires/modeles/FormulaireAjoutModele.cs b/VeraxShield/VeraxShield/composants/formulaires/modeles/FormulaireAjoutModele.cs
index ad7082f..a4e247c 100644
--- a/VeraxShield/VeraxShield/composants/formulaires/modeles/FormulaireAjoutModele.cs
+++ b/VeraxShield/VeraxShield/composants/formulaires/modeles/FormulaireAjoutModele.cs
@@ -16,7 +16,7 @@ namespace VeraxShield.composants.formulaires.modeles
[Required]
[StringLength(20, ErrorMessage = "Le nom ne doit pas dépasser 20 caractères !")]
- [RegularExpression("^[a-zA-Z]+$", ErrorMessage = "Le prénom doit contenir uniquement des lettres.")]
+ [RegularExpression("^[a-zA-Z]+$", ErrorMessage = "Le nom doit contenir uniquement des lettres.")]
public String Nom { get; set; }
[Required]
diff --git a/VeraxShield/VeraxShield/pages/utilisateurs/AjouterUtilisateur.razor b/VeraxShield/VeraxShield/pages/utilisateurs/AjouterUtilisateur.razor
index 30e0fef..928fcf2 100644
--- a/VeraxShield/VeraxShield/pages/utilisateurs/AjouterUtilisateur.razor
+++ b/VeraxShield/VeraxShield/pages/utilisateurs/AjouterUtilisateur.razor
@@ -1,9 +1,18 @@
@using VeraxShield.composants.formulaires
@page "/utilisateurs/ajouter"
-