Skip to content

Commit 5277645

Browse files
Merge pull request #11 from TechnologyEnhancedLearning/TD-1278-Updates
Td 1278 updates
2 parents da14ef7 + 177d161 commit 5277645

File tree

16 files changed

+252
-158
lines changed

16 files changed

+252
-158
lines changed

NHSUKViewComponents.Web/ViewComponents/NumericInputViewComponent.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ public IViewComponentResult Invoke(
1313
string type,
1414
string hintText,
1515
string cssClass,
16-
bool required
16+
bool required,
17+
string? requiredClientSideErrorMessage = default,
18+
string? regularExClientSideErrorMessage = default
1719
)
1820
{
1921
var model = ViewData.Model;
@@ -33,7 +35,9 @@ bool required
3335
errorMessages,
3436
string.IsNullOrEmpty(cssClass) ? null : cssClass,
3537
string.IsNullOrEmpty(hintText) ? null : hintText,
36-
required
38+
required,
39+
string.IsNullOrEmpty(requiredClientSideErrorMessage) ? null : requiredClientSideErrorMessage,
40+
string.IsNullOrEmpty(regularExClientSideErrorMessage) ? null : regularExClientSideErrorMessage
3741
);
3842
return View(numericInputViewModel);
3943
}

NHSUKViewComponents.Web/ViewComponents/RadioListViewComponent.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ public IViewComponentResult Invoke(
1414
IEnumerable<RadiosItemViewModel> radios,
1515
bool populateWithCurrentValues,
1616
string hintText,
17-
bool required
17+
bool required,
18+
string? requiredClientSideErrorMessage = default
1819
)
1920
{
2021
var radiosList = radios.Select(
@@ -31,7 +32,8 @@ bool required
3132
label,
3233
string.IsNullOrEmpty(hintText) ? null : hintText,
3334
radiosList,
34-
required
35+
required,
36+
string.IsNullOrEmpty(requiredClientSideErrorMessage) ? null : requiredClientSideErrorMessage
3537
);
3638

3739
return View(viewModel);
@@ -42,7 +44,8 @@ private bool IsSelectedRadio(string aspFor, RadiosItemViewModel radioItem, bool
4244
var model = ViewData.Model;
4345
var property = model.GetType().GetProperty(aspFor);
4446
var value = property?.GetValue(model);
45-
return populateWithCurrentValue && value.Equals(radioItem.Value);
47+
48+
return populateWithCurrentValue && value != null && value.Equals(radioItem.Value);
4649
}
4750
}
4851
}

NHSUKViewComponents.Web/ViewComponents/SelectListViewComponent.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ public IViewComponentResult Invoke(
1515
IEnumerable<SelectListItem> selectListOptions,
1616
string? hintText,
1717
string? cssClass,
18-
bool required
18+
bool required,
19+
string? requiredClientSideErrorMessage = default
1920
)
2021
{
2122
var model = ViewData.Model;
@@ -36,7 +37,8 @@ bool required
3637
string.IsNullOrEmpty(hintText) ? null : hintText,
3738
errorMessage,
3839
hasError,
39-
required
40+
required,
41+
string.IsNullOrEmpty(requiredClientSideErrorMessage) ? null : requiredClientSideErrorMessage
4042
);
4143
return View(selectListViewModel);
4244
}

NHSUKViewComponents.Web/ViewComponents/TextAreaViewComponent.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public class TextAreaViewComponent : ViewComponent
1717
/// <param name="hintText">Leave blank for no hint.</param>
1818
/// <param name="cssClass"></param>
1919
/// <param name="characterCount"></param>
20+
/// <param name="maxLengthClientSideErrorMessage"></param>
2021
/// <returns></returns>
2122
public IViewComponentResult Invoke(
2223
string aspFor,
@@ -26,7 +27,9 @@ public IViewComponentResult Invoke(
2627
bool spellCheck,
2728
string hintText,
2829
string cssClass,
29-
int? characterCount)
30+
int? characterCount,
31+
string? maxLengthClientSideErrorMessage = default
32+
)
3033
{
3134
var model = ViewData.Model;
3235

@@ -42,7 +45,9 @@ public IViewComponentResult Invoke(
4245
errorMessages,
4346
string.IsNullOrEmpty(cssClass) ? null : cssClass,
4447
string.IsNullOrEmpty(hintText) ? null : hintText,
45-
characterCount);
48+
characterCount,
49+
maxLengthClientSideErrorMessage
50+
);
4651
return View(textBoxViewModel);
4752
}
4853
}

NHSUKViewComponents.Web/ViewComponents/TextInputViewComponent.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public class TextInputViewComponent : ViewComponent
1919
/// <param name="cssClass"></param>
2020
/// <param name="required"></param>
2121
/// <param name="placeholderText"></param>
22+
/// <param name="requiredClientErrorMessage"></param>
2223
/// <returns></returns>
2324
public IViewComponentResult Invoke(
2425
string aspFor,
@@ -29,8 +30,9 @@ public IViewComponentResult Invoke(
2930
string hintText,
3031
string autocomplete,
3132
string cssClass,
32-
bool required,
33-
string? placeholderText = null
33+
bool required,
34+
string? placeholderText = null,
35+
string? requiredClientSideErrorMessage = default
3436
)
3537
{
3638
var model = ViewData.Model;
@@ -53,7 +55,8 @@ public IViewComponentResult Invoke(
5355
string.IsNullOrEmpty(cssClass) ? null : cssClass,
5456
string.IsNullOrEmpty(hintText) ? null : hintText,
5557
required,
56-
string.IsNullOrEmpty(placeholderText) ? null : placeholderText
58+
string.IsNullOrEmpty(placeholderText) ? null : placeholderText,
59+
string.IsNullOrEmpty(requiredClientSideErrorMessage) ? null : requiredClientSideErrorMessage
5760
);
5861
return View(textBoxViewModel);
5962
}

NHSUKViewComponents.Web/ViewModels/NumericInputViewModel.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ public NumericInputViewModel(
1616
IEnumerable<string> errorMessages,
1717
string? cssClass = null,
1818
string? hintText = null,
19-
bool required = false
19+
bool required = false,
20+
string? requiredClientSideErrorMessage = default,
21+
string? regularExClientSideErrorMessage = default
2022
)
2123
{
2224
var errorMessageList = errorMessages.ToList();
@@ -31,6 +33,8 @@ public NumericInputViewModel(
3133
ErrorMessages = errorMessageList;
3234
HasError = errorMessageList.Any();
3335
Required = required;
36+
RequiredClientSideErrorMessage = requiredClientSideErrorMessage;
37+
RegularExClientSideErrorMessage = regularExClientSideErrorMessage;
3438
}
3539

3640
public string Id { get; set; }
@@ -42,5 +46,7 @@ public NumericInputViewModel(
4246
public string? HintText { get; set; }
4347
public IEnumerable<string> ErrorMessages { get; set; }
4448
public bool Required { get; set; }
49+
public string? RequiredClientSideErrorMessage { get; set; }
50+
public string? RegularExClientSideErrorMessage { get; set; }
4551
}
4652
}

NHSUKViewComponents.Web/ViewModels/RadiosViewModel.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,16 @@ public RadiosViewModel(
99
string label,
1010
string hintText,
1111
IEnumerable<RadiosItemViewModel> radios,
12-
bool required
12+
bool required,
13+
string? requiredClientSideErrorMessage = default
1314
)
1415
{
1516
AspFor = aspFor;
1617
Label = !required && !label.EndsWith("(optional)") ? label + " (optional)" : label;
1718
HintText = hintText;
1819
Radios = radios;
1920
Required = required;
21+
RequiredClientSideErrorMessage = requiredClientSideErrorMessage;
2022
}
2123

2224
public string AspFor { get; set; }
@@ -27,5 +29,6 @@ bool required
2729

2830
public IEnumerable<RadiosItemViewModel> Radios { get; set; }
2931
public bool Required { get; set; }
32+
public string RequiredClientSideErrorMessage { get; set; }
3033
}
3134
}

NHSUKViewComponents.Web/ViewModels/SelectListViewModel.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ public SelectListViewModel
1717
string? hintText = null,
1818
string? errorMessage = null,
1919
bool hasError = false,
20-
bool required = false
20+
bool required = false,
21+
string? requiredClientErrorMessage = default
2122
)
2223
{
2324
Id = id;
@@ -31,6 +32,7 @@ public SelectListViewModel
3132
ErrorMessage = errorMessage;
3233
HasError = hasError;
3334
Required = required;
35+
RequiredClientSideErrorMessage = requiredClientErrorMessage;
3436
}
3537

3638
public string Id { get; set; }
@@ -44,5 +46,6 @@ public SelectListViewModel
4446
public string? ErrorMessage { get; set; }
4547
public bool HasError { get; set; }
4648
public bool Required { get; set; }
49+
public string? RequiredClientSideErrorMessage { get; set; }
4750
}
4851
}

NHSUKViewComponents.Web/ViewModels/TextAreaViewModel.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ public TextAreaViewModel
1616
IEnumerable<string> errorMessages,
1717
string? cssClass = null,
1818
string? hintText = null,
19-
int? characterCount = null
19+
int? characterCount = null,
20+
string? maxLengthClientSideErrorMessage = default
2021
)
2122
{
2223
var errorMessageList = errorMessages.ToList();
@@ -32,6 +33,7 @@ public TextAreaViewModel
3233
CharacterCount = characterCount;
3334
ErrorMessages = errorMessageList;
3435
HasError = errorMessageList.Any();
36+
MaxLengthClientSideErrorMessage = maxLengthClientSideErrorMessage;
3537
}
3638

3739
public string Id { get; set; }
@@ -45,5 +47,6 @@ public TextAreaViewModel
4547
public int? CharacterCount { get; set; }
4648
public IEnumerable<string> ErrorMessages { get; set; }
4749
public bool HasError { get; set; }
50+
public string MaxLengthClientSideErrorMessage { get; set; }
4851
}
4952
}

NHSUKViewComponents.Web/ViewModels/TextInputViewModel.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ public TextInputViewModel(
1717
string? cssClass = null,
1818
string? hintText = null,
1919
bool required = false,
20-
string? placeholder = null
20+
string? placeholder = null,
21+
string? requiredSideClientErrorMessage = default
2122
)
2223
{
2324
var errorMessageList = errorMessages.ToList();
@@ -35,6 +36,7 @@ public TextInputViewModel(
3536
ErrorMessages = errorMessageList;
3637
HasError = errorMessageList.Any();
3738
PlaceHolder = placeholder;
39+
RequiredClientSideErrorMessage = requiredSideClientErrorMessage;
3840
}
3941

4042
public string Id { get; set; }
@@ -50,6 +52,7 @@ public TextInputViewModel(
5052
public IEnumerable<string> ErrorMessages { get; set; }
5153
public readonly bool HasError;
5254
public string? PlaceHolder { get; set; }
55+
public string? RequiredClientSideErrorMessage { get; set; }
5356
}
5457

5558
}

0 commit comments

Comments
 (0)