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 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;
@ -12,7 +13,7 @@ namespace VeraxShield.composants.formulaires
[Inject]
private NavigationManager NavigationManager { get; set; }
private FormulaireAjoutModele Modele { get; set; }
public FormulaireAjoutModele Modele { get; set; }
[Inject]
private IUtilisateursDataService utilisateursDataService { get; set; }
@ -24,6 +25,7 @@ namespace VeraxShield.composants.formulaires
protected override async Task OnInitializedAsync()
{
//PseudoCorrectAttribute.Initialiser(await this.utilisateursDataService.getAllUtilisateurs());
this.Modele = new FormulaireAjoutModele();
this.Modele.IsBan = false;

@ -1,6 +1,7 @@
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;
@ -25,10 +26,11 @@ namespace VeraxShield.composants.formulaires
protected override async Task OnParametersSetAsync()
{
//PseudoCorrectAttribute.Initialiser(await this.utilisateursDataService.getAllUtilisateurs());
if (this.Utilisateur != null)
{
//Utilisateur temp = new Utilisateur(" ", " ", " ", " ", " ", " ", true);
Utilisateur temp = new Utilisateur(" ", " ", " ", " ", " ", " ", true);
this.Modele = UtilisateursFactory.toModele(this.Utilisateur);
} else
{

@ -1,4 +1,8 @@
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
{
@ -6,8 +10,9 @@ namespace VeraxShield.composants.formulaires.modeles
{
[Required]
[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.")]
public String Pseudo { get; set; }
[RegularExpression("^[a-zA-Z0-9_]+$", ErrorMessage = "Le pseudo contient des caractères interdits.")]
// [PseudoCorrect]
public string Pseudo { get; set; }
[Required]
[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