枚举列表的验证消息
Validation Message for enum list
我在视图模型中有一个枚举 属性,如下所示:
[Display(Name = "Claim Type")]
[Required(ErrorMessage = "Please select a claim type")]
public ClaimType ClaimType { get; set; }
ClaimType 枚举由值 1、2、3 和 4 组成。
在视图中,我有如下字段。注意自定义默认元素:
<select asp-for="ClaimType" class="form-control" asp-items="Html.GetEnumSelectList<ClaimType>()">
<option value="">Select Claim Type</option>
</select>
<span asp-validation-for="ClaimType" class="text-danger"></span>
当我将该字段留空并尝试提交时,验证错误消息显示:
值“”无效。
未到达 ViewModel 中的自定义错误消息,因为它似乎首先验证该值是否为有效的枚举值。
知道如何显示自定义错误消息吗?
不确定 Required
是否对 non-nullable 值类型有意义,因此您可以尝试在模型中使用可为空的 ClaimType
,例如
[Display(Name = "Claim Type")]
[Required(ErrorMessage = "Please select a claim type")]
public ClaimType? ClaimType { get; set; }
我在视图模型中有一个枚举 属性,如下所示:
[Display(Name = "Claim Type")]
[Required(ErrorMessage = "Please select a claim type")]
public ClaimType ClaimType { get; set; }
ClaimType 枚举由值 1、2、3 和 4 组成。 在视图中,我有如下字段。注意自定义默认元素:
<select asp-for="ClaimType" class="form-control" asp-items="Html.GetEnumSelectList<ClaimType>()">
<option value="">Select Claim Type</option>
</select>
<span asp-validation-for="ClaimType" class="text-danger"></span>
当我将该字段留空并尝试提交时,验证错误消息显示: 值“”无效。 未到达 ViewModel 中的自定义错误消息,因为它似乎首先验证该值是否为有效的枚举值。 知道如何显示自定义错误消息吗?
不确定 Required
是否对 non-nullable 值类型有意义,因此您可以尝试在模型中使用可为空的 ClaimType
,例如
[Display(Name = "Claim Type")]
[Required(ErrorMessage = "Please select a claim type")]
public ClaimType? ClaimType { get; set; }