Skip to content

Commit f123e74

Browse files
committed
TD-5390- Solved Validation Issues
1 parent 63521f4 commit f123e74

File tree

3 files changed

+22
-16
lines changed

3 files changed

+22
-16
lines changed

DigitalLearningSolutions.Web/Controllers/Support/RequestSupportTicketController.cs

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -117,31 +117,36 @@ public IActionResult RequestSummary(DlsSubApplication dlsSubApplication, Request
117117
).GetAwaiter().GetResult(); ;
118118
var model = new RequestSummaryViewModel(data);
119119
data.setRequestSubjectDetails(model);
120+
if (!ModelState.IsValid)
121+
{
122+
ModelState.Clear();
123+
}
120124
return View("RequestSummary", model);
121125
}
122126

123127
[HttpPost]
124128
[Route("/{dlsSubApplication}/RequestSupport/SetRequestSummary")]
125129
public IActionResult SetRequestSummary(DlsSubApplication dlsSubApplication, RequestSummaryViewModel requestDetailsmodel)
126130
{
127-
if (requestDetailsmodel.RequestSubject == null)
128-
{
129-
ModelState.AddModelError("RequestSubject", "Please enter request summary");
130-
return View("RequestSummary", requestDetailsmodel);
131-
}
132-
if (requestDetailsmodel.RequestDescription == null)
131+
var data = multiPageFormService.GetMultiPageFormData<RequestSupportTicketData>(
132+
MultiPageFormDataFeature.AddCustomWebForm("RequestSupportTicketCWF"),
133+
TempData
134+
).GetAwaiter().GetResult();
135+
requestDetailsmodel.RequestType = data.RequestType;
136+
137+
// Check if RequestDescription is null or contains any default empty tags ("<p><br></p>").
138+
// This ensures that when a user navigates to the submit page and returns to SetRequestSummary,
139+
// removing the description completely results in an actual empty value rather than leftover HTML tags.
140+
if (requestDetailsmodel.RequestDescription == "<p><br></p>")
133141
{
134142
ModelState.AddModelError("RequestDescription", "Please enter request description");
135-
return View("RequestSummary", requestDetailsmodel);
136143
}
144+
137145
if (!ModelState.IsValid)
138146
{
139147
return View("RequestSummary", requestDetailsmodel);
140148
}
141-
var data = multiPageFormService.GetMultiPageFormData<RequestSupportTicketData>(
142-
MultiPageFormDataFeature.AddCustomWebForm("RequestSupportTicketCWF"),
143-
TempData
144-
).GetAwaiter().GetResult(); ;
149+
145150
data.setRequestSubjectDetails(requestDetailsmodel);
146151
setRequestSupportTicketData(data);
147152
return RedirectToAction("RequestAttachment", new { dlsSubApplication });

DigitalLearningSolutions.Web/ViewModels/Support/RequestSupportTicket/RequestSummaryViewModel.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,14 @@ public RequestSummaryViewModel(RequestSupportTicketData data)
1818
RequestDescription = data.RequestDescription;
1919
}
2020
[MaxLength(250, ErrorMessage = "Summary must be 250 characters or fewer")]
21+
[Required(ErrorMessage = "Please enter request summary")]
2122
public string? RequestSubject { get; set; }
23+
24+
[Required(ErrorMessage = "Please enter request description")]
2225
public string? RequestDescription { get; set; }
26+
2327
public int? RequestTypeId { get; set; }
28+
2429
public string? RequestType { get; set; }
2530
}
2631
}

DigitalLearningSolutions.Web/Views/Support/RequestSupportTicket/RequestSummary.cshtml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,7 @@
44
@using DigitalLearningSolutions.Web.ViewModels.Support.RequestSupportTicket;
55
@model RequestSummaryViewModel;
66
@{
7-
bool errorHasOccurred = false;
8-
@if (Model.RequestSubject == null && !ViewData.ModelState.IsValid)
9-
{
10-
errorHasOccurred = true;
11-
}
7+
var errorHasOccurred = !ViewData.ModelState.IsValid;
128
ViewData["Title"] = "Request details";
139
var cancelLinkData = Html.GetRouteValues();
1410
}

0 commit comments

Comments
 (0)