小编bba*_*bak的帖子

将多个属性的验证消息组合在一起成为一个消息asp.net mvc

我有一个视图模型,其中包含某人出生日期的年/月/日属性.所有这些字段都是必需的.现在,如果有人在出生日期没有输入任何内容,则会收到3条单独的错误消息.

出生日期字段

我想要做的是以某种方式将这些错误消息组合成一条消息,该消息只是说"出生日期是必需的".因此,如果这些字段中的一个或多个是空白的,它们将始终只获得1个验证消息.

我需要通过jquery验证和不引人注意的验证来处理客户端验证.我知道通过查看这个问题可以使用jquery validate插件.但是我不知道如何使用我的模型上的验证属性和不显眼的验证来使用asp.net mvc来实现这一点.希望有一些内置的方法可以将属性分组以进行验证,但如果没有,可以使用自定义验证属性吗?

这是我现有的模型和视图的样子:

该模型:

public class MyModel {
    [Required(ErrorMessage = "Year is required")]
    public int Year { get; set; }
    [Required(ErrorMessage = "Month is required")]
    public int Month { get; set; }
    [Required(ErrorMessage = "Day is required")]
    public int Day { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

风景:

<div>
    <label>Date of birth: <span style="color:red;">*</span></label>
    <div>@Html.DropDownListFor(m => m.Year, ApplicationModel.GetSelectListForDateRange(DateTime.Today.Year - 16, DateTime.Today.Year - 10), "", new{data_description="birthDate"})@Html.LabelFor(m => m.StudentBirthYear)</div>
    <div>@Html.DropDownListFor(m => m.Month, ApplicationModel.GetSelectListForDateRange(1, 12, true), "", new{data_description="birthDate"})@Html.LabelFor(m => m.StudentBirthMonth)</div> …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc jquery-validate unobtrusive-validation asp.net-mvc-4

13
推荐指数
1
解决办法
8976
查看次数