Asp.net mvc ASP.NET MVC4验证
我有一个视图模型Asp.net mvc ASP.NET MVC4验证,asp.net-mvc,validation,asp.net-mvc-4,Asp.net Mvc,Validation,Asp.net Mvc 4,我有一个视图模型 public class TrainingProgramScheduledDateVM { public bool IsTuesday { get; set; } [DataType(DataType.Time)] public string TueStartTime { get; set; } [DataType(DataType.Time)] public string TueEndTime { get; set; } pu
public class TrainingProgramScheduledDateVM
{
public bool IsTuesday { get; set; }
[DataType(DataType.Time)]
public string TueStartTime { get; set; }
[DataType(DataType.Time)]
public string TueEndTime { get; set; }
public bool IsWednesday { get; set; }
[DataType(DataType.Time)]
public string WedStartTime { get; set; }
[DataType(DataType.Time)]
public string WedEndTime { get; set; }
public bool IsThursday { get; set; }
[DataType(DataType.Time)]
public string ThuStartTime { get; set; }
[DataType(DataType.Time)]
public string ThuEndTime { get; set; }
}
我想用一种方式来验证。
1-如果IsTuesday=true,则TueStartTime和TueEndTime应该需要。
等等
2-至少有一个布尔值应为真,并且需要相关时间
请给我推荐任何简单的方法
谢谢我看到重复了。该区块:
public bool IsTuesday { get; set; }
[DataType(DataType.Time)]
public string TueStartTime { get; set; }
[DataType(DataType.Time)]
public string TueEndTime { get; set; }
可以更好地抽象为自己的类型,如:
public class ScheduleDate
{
public DayOfWeek DayOfWeek { get; set; }
public bool IsSelected { get; set; }
[DataType(DataType.Time)]
[RequiredIf(IsSelected)]
public string StartTime { get; set; }
[DataType(DataType.Time)]
[RequiredIf(IsSelected)]
public string EndTime { get; set; }
}
然后您的
TrainingProgramScheduledDateVM
可以包含ScheduleDate
对象的列表。我看到了重复。该区块:
public bool IsTuesday { get; set; }
[DataType(DataType.Time)]
public string TueStartTime { get; set; }
[DataType(DataType.Time)]
public string TueEndTime { get; set; }
可以更好地抽象为自己的类型,如:
public class ScheduleDate
{
public DayOfWeek DayOfWeek { get; set; }
public bool IsSelected { get; set; }
[DataType(DataType.Time)]
[RequiredIf(IsSelected)]
public string StartTime { get; set; }
[DataType(DataType.Time)]
[RequiredIf(IsSelected)]
public string EndTime { get; set; }
}
然后您的
TrainingProgramScheduledDateVM
可以包含ScheduleDate
对象的列表。使用远程验证。比如说,
使用远程验证。比如说,
这对发布和验证新模型有何帮助?请发送适当的示例。此处完整示例:@CodeCaster:remote validation可以帮助您实现非常复杂的验证:通过两个或三个字段。它还允许通过数据库中的附加数据来验证数据。这不是唯一的方法,但我喜欢这种方法。听起来不错。但不适合我的情况,我不想被发回只是为了验证。这对发布和验证新模型有什么帮助?请发送适当的示例。完整示例如下:@CodeCaster:remote validation可以帮助您实现非常复杂的验证:通过两个或三个字段。它还允许通过数据库中的附加数据来验证数据。这不是唯一的方法,但我喜欢这种方法。听起来不错。但我的案子不适合我,我不想被发回只是为了验证。我认为这没有意义。您能发送示例吗?@SirajHussain我不能发送示例,您必须在代码中实现它。在什么程序集中定义了RequiredIfAttribute?我找不到,我想这没什么意义。您能发送示例吗?@SirajHussain我不能发送示例,您必须在代码中实现它。在什么程序集中定义了RequiredIfAttribute?我找不到它。