correction d'un bug sur la modification d'utilisateurs

travailFormulairesJean
Siwa12100 1 year ago
parent e88de6c2f4
commit 46866c3154

@ -1,6 +1,7 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components;
using VeraxShield.composants.formulaires.modeles; using VeraxShield.composants.formulaires.modeles;
using VeraxShield.composants.formulaires.modeles.attributsValidationCustoms;
using VeraxShield.factories; using VeraxShield.factories;
using VeraxShield.modele.utilisateurs; using VeraxShield.modele.utilisateurs;
using VeraxShield.services.UtilisateursDataService; using VeraxShield.services.UtilisateursDataService;
@ -12,7 +13,7 @@ namespace VeraxShield.composants.formulaires
[Inject] [Inject]
private NavigationManager NavigationManager { get; set; } private NavigationManager NavigationManager { get; set; }
private FormulaireAjoutModele Modele { get; set; } public FormulaireAjoutModele Modele { get; set; }
[Inject] [Inject]
private IUtilisateursDataService utilisateursDataService { get; set; } private IUtilisateursDataService utilisateursDataService { get; set; }
@ -24,6 +25,7 @@ namespace VeraxShield.composants.formulaires
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
//PseudoCorrectAttribute.Initialiser(await this.utilisateursDataService.getAllUtilisateurs());
this.Modele = new FormulaireAjoutModele(); this.Modele = new FormulaireAjoutModele();
this.Modele.IsBan = false; this.Modele.IsBan = false;

@ -1,6 +1,7 @@
using Blazorise; using Blazorise;
using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components;
using VeraxShield.composants.formulaires.modeles; using VeraxShield.composants.formulaires.modeles;
using VeraxShield.composants.formulaires.modeles.attributsValidationCustoms;
using VeraxShield.factories; using VeraxShield.factories;
using VeraxShield.modele.utilisateurs; using VeraxShield.modele.utilisateurs;
using VeraxShield.services.UtilisateursDataService; using VeraxShield.services.UtilisateursDataService;
@ -25,10 +26,11 @@ namespace VeraxShield.composants.formulaires
protected override async Task OnParametersSetAsync() protected override async Task OnParametersSetAsync()
{ {
//PseudoCorrectAttribute.Initialiser(await this.utilisateursDataService.getAllUtilisateurs());
if (this.Utilisateur != null) if (this.Utilisateur != null)
{ {
//Utilisateur temp = new Utilisateur(" ", " ", " ", " ", " ", " ", true); Utilisateur temp = new Utilisateur(" ", " ", " ", " ", " ", " ", true);
this.Modele = UtilisateursFactory.toModele(this.Utilisateur); this.Modele = UtilisateursFactory.toModele(this.Utilisateur);
} else } else
{ {

@ -1,4 +1,8 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Microsoft.AspNetCore.Components;
using VeraxShield.composants.formulaires.modeles.attributsValidationCustoms;
using VeraxShield.modele.utilisateurs;
using VeraxShield.services.UtilisateursDataService;
namespace VeraxShield.composants.formulaires.modeles namespace VeraxShield.composants.formulaires.modeles
{ {
@ -6,8 +10,9 @@ namespace VeraxShield.composants.formulaires.modeles
{ {
[Required] [Required]
[StringLength(20, ErrorMessage = "Le pseudo ne doit pas dépasser 20 caractères !")] [StringLength(20, ErrorMessage = "Le pseudo ne doit pas dépasser 20 caractères !")]
[RegularExpression("^[a-zA-Z0-9]+$", ErrorMessage = "Le pseudo doit contenir uniquement des caractères alphanumériques.")] [RegularExpression("^[a-zA-Z0-9_]+$", ErrorMessage = "Le pseudo contient des caractères interdits.")]
public String Pseudo { get; set; } // [PseudoCorrect]
public string Pseudo { get; set; }
[Required] [Required]
[StringLength(20, ErrorMessage = "Le nom ne doit pas dépasser 20 caractères !")] [StringLength(20, ErrorMessage = "Le nom ne doit pas dépasser 20 caractères !")]

@ -0,0 +1,39 @@
using System.ComponentModel.DataAnnotations;
using Microsoft.AspNetCore.Components;
using VeraxShield.modele.utilisateurs;
using VeraxShield.services.UtilisateursDataService;
namespace VeraxShield.composants.formulaires.modeles.attributsValidationCustoms
{
public class PseudoCorrectAttribute : ValidationAttribute
{
public static List<Utilisateur> TouslesUtilisateurs {get; set;}
protected override ValidationResult? IsValid(object? value, ValidationContext validationContext)
{
bool pseudoExisteDeja = false;
var pseudo = (string)value;
foreach (Utilisateur u in PseudoCorrectAttribute.TouslesUtilisateurs)
{
if (u.Pseudo == pseudo)
{
pseudoExisteDeja = true;
}
}
if (pseudoExisteDeja)
{
return new ValidationResult("Le pseudo existe deja, choississez en un autre.");
}
return ValidationResult.Success;
}
public static void Initialiser(List<Utilisateur> liste)
{
PseudoCorrectAttribute.TouslesUtilisateurs = liste;
}
}
}
Loading…
Cancel
Save