feat : radio button add question
continuous-integration/drone/push Build is passing Details

Multiplayer_Php
Maxence GUITARD 1 year ago
parent c8abacb857
commit 2476ba0a78

@ -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")]

@ -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")]

@ -38,7 +38,7 @@
<InputText id="@($"answer{answerModel.Id}")" @bind-Value="answerModel.Content" />
</label>
<label for="@($"checkbox{checkbox.Id}")">
<InputCheckbox id="@($"checkbox{checkbox.Id}")" @bind-Value="checkbox.IsCorrect" /> Correcte
<input type="radio" name="radio" id="@($"checkbox{checkbox.Id}")" checked="@checkbox.IsCorrect" @onchange="() => SetCorrectAnswer(checkbox.Id)" /> @Localizer["Correct"]
</label>
</p>
}

@ -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<string, string>(answercontent, answerModel.Content));
}
foreach (var checkbox in checkboxs)
{
if (checkbox.IsCorrect != false)
{
var idgood = checkbox.Id + 1;
IdAgood = idgood;
formData.Add(new KeyValuePair<string, string>("idanswergood", idgood.ToString()));
}
}
var idGood = questionModel.IdAnswerGood + 1;
formData.Add(new KeyValuePair<string, string>("idanswergood", idGood.ToString()));
var formContent = new FormUrlEncodedContent(formData);

@ -38,7 +38,7 @@
<InputText id="@($"answer{answer.Id}")" @bind-Value="answer.Content" />
</label>
<label for="@($"checkbox{checkbox.Id}")">
<InputCheckbox id="@($"checkbox{checkbox.Id}")" @bind-Value="checkbox.IsCorrect" /> @Localizer["Correct"]
<input type="radio" name="radio" id="@($"checkbox{checkbox.Id}")" checked="@checkbox.IsCorrect" @onchange="() => SetCorrectAnswer(checkbox.Id)" /> @Localizer["Correct"]
</label>
</p>
}

@ -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<string, string>(answercontent, answer.Content));
}
foreach (var checkbox in checkboxs)
{
if (checkbox.IsCorrect == true)
{
IdAgood = checkbox.Id;
formData.Add(new KeyValuePair<string, string>("idanswergood", checkbox.Id.ToString()));
}
}
formData.Add(new KeyValuePair<string, string>("idanswergood", question.IdAnswerGood.ToString()));
var formContent = new FormUrlEncodedContent(formData);

Loading…
Cancel
Save