🐛 Fix non-required field poll validate incorrect

This commit is contained in:
2025-08-12 17:48:03 +08:00
parent 58e34b20e1
commit 96cceafe77
2 changed files with 5 additions and 3 deletions

View File

@@ -91,10 +91,10 @@ public class PollController(AppDatabase db, PollService polls, Publisher.Publish
var answerQuery = db.PollAnswers
.Where(a => a.PollId == id)
.AsQueryable();
var total = await answerQuery.CountAsync();
Response.Headers.Append("X-Total", total.ToString());
var answers = await answerQuery
.OrderByDescending(a => a.CreatedAt)
.Skip(offset)
@@ -325,4 +325,4 @@ public class PollController(AppDatabase db, PollService polls, Publisher.Publish
return StatusCode(500, "An error occurred while deleting the poll... " + ex.Message);
}
}
}
}

View File

@@ -75,6 +75,8 @@ public class PollService(AppDatabase db, ICacheService cache)
var questionId = question.Id.ToString();
if (question.IsRequired && !answer.ContainsKey(questionId))
throw new Exception($"Missing required field: {question.Title}");
else if (!answer.ContainsKey(questionId))
continue;
switch (question.Type)
{
case PollQuestionType.Rating when answer[questionId].ValueKind != JsonValueKind.Number: