【发布时间】:2021-09-01 15:15:46
【问题描述】:
我有一个带有许多复选框的模型。该模型仅在至少选中一个框并选择日期时才有效。模型如下所示:
public class CustomDistricts4Weeks
{
[DisplayName("002")]
public bool D2 { get; set; }
[DisplayName("003")]
public bool D3 { get; set; }
[DisplayName("004")]
public bool D4 { get; set; }
[DisplayName("005")]
public bool D5 { get; set; }
[DisplayName("006")]
public bool D6 { get; set; }
[DisplayName("007")]
public bool D7 { get; set; }
[DisplayName("ARL")]
public bool DArl { get; set; }
[DisplayName("BAR")]
public bool DBar { get; set; }
[DisplayName("COL")]
public bool DCol { get; set; }
[DisplayName("GER")]
public bool DGer { get; set; }
[DisplayName("MEM")]
public bool DMem { get; set; }
[DisplayName("LAK")]
public bool DLak { get; set; }
[DisplayName("MIL")]
public bool DMil { get; set; }
[DisplayName("JAIL")]
public bool DJail { get; set; }
[DisplayName("JAILEAST")]
public bool DJailEast { get; set; }
[DisplayName("SCCC")]
public bool DSCCC { get; set; }
[DisplayName("1USD")]
public bool D1USD { get; set; }
[DisplayName("2USD")]
public bool D2USD { get; set; }
[DataType(DataType.Date, ErrorMessage = "Date Only")]
[DisplayFormat(DataFormatString = "{0:dd-MMM-yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "To Date")]
public DateTime ToDate { get; set; }
}
我确定我可以将 [Required] 放在 ToDate 上,但我如何确保至少有一个布尔值是正确的?任何数字都可以是真的,但至少有一个必须是真的。我可能没有正确解决这个问题,我很想学习更好的方法。我的代码正在运行,但我正在尝试构建验证。
【问题讨论】:
-
我的错。我说的是model.isvalid,需要modelstate.isvalid。此外,我确实验证了 [Required] 修复了我的 ToDate 要求。现在我需要做的就是确保选中其中一个复选框。
标签: c# asp.net-mvc validation model