MVC 5.0 的数据注释不起作用

Data Annotation for MVC 5.0 is not working

public class DropDownListViewModel
{
    [Required]
    public string SelectedId { get; set; }
    public IEnumerable<SelectListItem> Items { get; set; }
}

public class Account
{
    public DropDownListViewModel Country { get; set; }
}

如何获取与国家字段相关的错误消息。目前它显示通用消息说 'Selectedid is required',但我想要与国家字段相关的消息。

使用 ErrorMessage 自定义错误消息

[Required(ErrorMessage = "Custom Message")]
public string SelectedId { get; set; }

您可以覆盖视图中的消息:

@Html.ValidationMessageFor(x => x.SelectedId, "You must select a country")

这样做的缺点是,如果您对 SelectedId 有多个错误,则只会显示被覆盖的消息。