diff --git a/Blazor/Blazor/Models/AdministratorModel.cs b/Blazor/Blazor/Models/AdministratorModel.cs index 91d1dd6..af3ca37 100644 --- a/Blazor/Blazor/Models/AdministratorModel.cs +++ b/Blazor/Blazor/Models/AdministratorModel.cs @@ -11,7 +11,8 @@ public class AdministratorModel public int Id { get; set; } [Required(ErrorMessage = "Username is required")] - [StringLength(50, ErrorMessage = "Username is too long.")] + [RegularExpression(@"^[a-zA-Z0-9]+$", ErrorMessage = "La chaîne doit être composée uniquement de lettres et de chiffres, sans espaces.")] + [StringLength(20, ErrorMessage = "{0} length must be between {2} and {1}.", MinimumLength = 3)] public string Username { get; set; } [Required(ErrorMessage = "Password is required")] diff --git a/Blazor/Blazor/Models/PlayerModel.cs b/Blazor/Blazor/Models/PlayerModel.cs index a8da40a..d202d12 100644 --- a/Blazor/Blazor/Models/PlayerModel.cs +++ b/Blazor/Blazor/Models/PlayerModel.cs @@ -10,7 +10,8 @@ public class PlayerModel public int Id { get; set; } [Required(ErrorMessage = "Nickname is required")] - [StringLength(50, ErrorMessage = "Nickname is too long.")] + [RegularExpression(@"^[a-zA-Z0-9]+$", ErrorMessage = "La chaîne doit être composée uniquement de lettres et de chiffres, sans espaces.")] + [StringLength(20, ErrorMessage = "{0} length must be between {2} and {1}.", MinimumLength = 3)] public string Nickname { get; set; } [Required(ErrorMessage = "Password is required")] diff --git a/Blazor/Blazor/Pages/Questions/AddQuestion.razor b/Blazor/Blazor/Pages/Questions/AddQuestion.razor index 5dd9421..767b518 100644 --- a/Blazor/Blazor/Pages/Questions/AddQuestion.razor +++ b/Blazor/Blazor/Pages/Questions/AddQuestion.razor @@ -38,7 +38,7 @@

} diff --git a/Blazor/Blazor/Pages/Questions/AddQuestion.razor.cs b/Blazor/Blazor/Pages/Questions/AddQuestion.razor.cs index 638269b..4628617 100644 --- a/Blazor/Blazor/Pages/Questions/AddQuestion.razor.cs +++ b/Blazor/Blazor/Pages/Questions/AddQuestion.razor.cs @@ -58,6 +58,11 @@ namespace Blazor.Pages.Questions checkboxs.Add(new Checkbox(i)); } } + + private void SetCorrectAnswer(int checkboxId) + { + questionModel.IdAnswerGood = checkboxId; + } private async Task HandleValidSubmit() { if (questionModel != null) @@ -70,15 +75,9 @@ namespace Blazor.Pages.Questions var answercontent = $"answerContent{answerModel.Id + 1}"; formData.Add(new KeyValuePair(answercontent, answerModel.Content)); } - foreach (var checkbox in checkboxs) - { - if (checkbox.IsCorrect != false) - { - var idgood = checkbox.Id + 1; - IdAgood = idgood; - formData.Add(new KeyValuePair("idanswergood", idgood.ToString())); - } - } + var idGood = questionModel.IdAnswerGood + 1; + formData.Add(new KeyValuePair("idanswergood", idGood.ToString())); + var formContent = new FormUrlEncodedContent(formData); diff --git a/Blazor/Blazor/Pages/Questions/EditQuestion.razor b/Blazor/Blazor/Pages/Questions/EditQuestion.razor index 834ae28..929b287 100644 --- a/Blazor/Blazor/Pages/Questions/EditQuestion.razor +++ b/Blazor/Blazor/Pages/Questions/EditQuestion.razor @@ -38,7 +38,7 @@

} diff --git a/Blazor/Blazor/Pages/Questions/EditQuestion.razor.cs b/Blazor/Blazor/Pages/Questions/EditQuestion.razor.cs index 3f993bc..6fdad16 100644 --- a/Blazor/Blazor/Pages/Questions/EditQuestion.razor.cs +++ b/Blazor/Blazor/Pages/Questions/EditQuestion.razor.cs @@ -82,6 +82,14 @@ namespace Blazor.Pages.Questions OldQuestionIdChapter = question.IdChapter; OldIdAnswerGood = question.IdAnswerGood; } + + private void SetCorrectAnswer(int checkboxId) + { + Console.WriteLine($"SetCorrectAnswer called with checkboxId: {checkboxId}"); + questionModel.IdAnswerGood = checkboxId; + } + + private async Task HandleValidSubmit() { @@ -94,14 +102,8 @@ namespace Blazor.Pages.Questions var answercontent = $"answerContent{index + 1}"; formData.Add(new KeyValuePair(answercontent, answer.Content)); } - foreach (var checkbox in checkboxs) - { - if (checkbox.IsCorrect == true) - { - IdAgood = checkbox.Id; - formData.Add(new KeyValuePair("idanswergood", checkbox.Id.ToString())); - } - } + + formData.Add(new KeyValuePair("idanswergood", question.IdAnswerGood.ToString())); var formContent = new FormUrlEncodedContent(formData);