我有一个模特。
看起来像这样
public class AddEditNotificationViewModel : BaseViewModel
{
public TimeSpan TimeOfDayToRun { get; set; }
public string[] DaysRunning { get; set; }
public string Id { get; set; }
public string CampaignId { get; set; }
public int ForHowManyWeeks { get; set; }
public DateTimeOffset StartDate { get; set; }
public bool RunForever { get; set; }
public string TimeZone { get; set; }
}
我认为我有@Html.ValidationSummary( false )
。
它显示了3个属性的错误,但我没有必需的属性。
好像很怪异?
答案 0 :(得分:2)
默认情况下,值类型(如bool
和int
)被视为必需,除非您使用Nullable<T>
类型。
在您的模型中,TimeOfDayToRun
,ForHowManyWeeks
和RunForever
是不可为空的值类型。如果您将TimeOfDayToRun
的类型替换为Nullable<TimeSpan>
或TimeSpan?
,那么您告诉MVC活页夹允许空值,并且不会出现任何验证错误。< / p>
尝试以下模型:
public class AddEditNotificationViewModel : BaseViewModel
{
public TimeSpan? TimeOfDayToRun { get; set; }
public string[] DaysRunning { get; set; }
public string Id { get; set; }
public string CampaignId { get; set; }
public int? ForHowManyWeeks { get; set; }
public DateTimeOffset StartDate { get; set; }
public bool? RunForever { get; set; }
public string TimeZone { get; set; }
}