Skip to content

Commit e920ebb

Browse files
committed
TD-2311, fixed Aria isssue and added more validation
1 parent 452bf98 commit e920ebb

2 files changed

Lines changed: 49 additions & 36 deletions

File tree

NHSUKViewComponents.Web/Views/Shared/Components/DateInput/Default.cshtml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
var dayErrorCss = Model.HasDayError ? "nhsuk-input--error" : "";
77
var monthErrorCss = Model.HasMonthError ? "nhsuk-input--error" : "";
88
var yearErrorCss = Model.HasYearError ? "nhsuk-input--error" : "";
9+
var hintTextLine = string.Empty;
910
}
1011

1112
<div class="@Model.CssClass @errorCss" id="@Model.Id">
@@ -27,12 +28,14 @@
2728
{
2829
@foreach (var hintText in Model.HintTextLines)
2930
{
30-
<div class="nhsuk-hint" id="@Model.Id-hint">
31-
@hintText
32-
</div>
31+
hintTextLine = hintText;
3332
}
3433
}
3534

35+
<div class="nhsuk-hint" id="@Model.Id-hint">
36+
@hintTextLine
37+
</div>
38+
3639
@if (Model.HasError)
3740
{
3841
@foreach (var message in Model.ErrorMessages)
Lines changed: 43 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,53 @@
11
@using NHSUKViewComponents.Web.ViewModels
22
@model DateRangeInputViewModel
3+
@{
4+
var hintText = string.Empty;
5+
var endCheckboxhintText = string.Empty;
6+
}
37

48
<div id="@Model.Id">
5-
<fieldset class="nhsuk-fieldset" aria-describedby="@Model.Id-hint" role="group">
6-
<legend class="nhsuk-fieldset__legend nhsuk-label nhsuk-heading-m">
7-
@Model.Label
8-
</legend>
9-
@if (Model.HintText != null)
10-
{
11-
<div class="nhsuk-hint" id="@Model.Id-hint">
12-
@Html.Raw(Model.HintText)
13-
</div>
14-
}
9+
<fieldset class="nhsuk-fieldset" aria-describedby="@Model.Id-hint" role="group">
10+
<legend class="nhsuk-fieldset__legend nhsuk-label nhsuk-heading-m">
11+
@Model.Label
12+
</legend>
1513

16-
<partial name="Components/DateInput/Default" model="Model.StartDateModel" />
17-
<div class="nhsuk-checkboxes nhsuk-checkboxes--conditional">
18-
<div class="nhsuk-checkboxes__item">
19-
<input class="nhsuk-checkboxes__input"
20-
type="checkbox"
21-
id="@Model.EndDateCheckbox.Id"
22-
name="@Model.EndDateCheckbox.Name"
23-
aria-describedby="@Model.EndDateCheckbox.Id-item-hint"
24-
value="true"
25-
aria-controls="conditional-end-date"
26-
aria-expanded="@(Model.EndDateCheckbox.Value ? "true" : "false")"
27-
@(Model.EndDateCheckbox.Value ? "checked" : string.Empty) />
28-
<label class="nhsuk-label nhsuk-checkboxes__label" for="@Model.EndDateCheckbox.Id">
29-
Set end date
30-
</label>
31-
@if (Model.EndDateCheckbox.HintText != null)
14+
@if (Model.HintText != null)
3215
{
33-
<div class="nhsuk-hint nhsuk-checkboxes__hint" id="@Model.EndDateCheckbox.Id-item-hint">
34-
@Model.EndDateCheckbox.HintText
35-
</div>
16+
hintText = Model.HintText;
3617
}
37-
</div>
3818

39-
<partial name="Components/DateInput/Default" model="Model.EndDateModel" />
40-
</div>
19+
<div class="nhsuk-hint" id="@Model.Id-hint">
20+
@hintText
21+
@*@Html.Raw(Model.HintText)*@
22+
</div>
4123

42-
</fieldset>
24+
<partial name="Components/DateInput/Default" model="Model.StartDateModel" />
25+
<div class="nhsuk-checkboxes nhsuk-checkboxes--conditional">
26+
<div class="nhsuk-checkboxes__item">
27+
<input class="nhsuk-checkboxes__input"
28+
type="checkbox"
29+
id="@Model.EndDateCheckbox.Id"
30+
name="@Model.EndDateCheckbox.Name"
31+
aria-describedby="@Model.EndDateCheckbox.Id-item-hint"
32+
value="true"
33+
aria-controls="conditional-end-date"
34+
aria-expanded="@(Model.EndDateCheckbox.Value ? "true" : "false")"
35+
@(Model.EndDateCheckbox.Value ? "checked" : string.Empty) />
36+
<label class="nhsuk-label nhsuk-checkboxes__label" for="@Model.EndDateCheckbox.Id">
37+
Set end date
38+
</label>
39+
40+
@if (Model.EndDateCheckbox.HintText != null)
41+
{
42+
endCheckboxhintText = @Model.EndDateCheckbox.HintText;
43+
}
44+
<div class="nhsuk-hint nhsuk-checkboxes__hint" id="@Model.EndDateCheckbox.Id-item-hint">
45+
@endCheckboxhintText
46+
</div>
47+
</div>
48+
49+
<partial name="Components/DateInput/Default" model="Model.EndDateModel" />
50+
</div>
51+
52+
</fieldset>
4353
</div>

0 commit comments

Comments
 (0)