我有一个从控制器返回的预留天数的列表。我想在模型验证中比较它们。若要在数据已保留时出现错误,请执行以下操作。
ReservationController.cs
[HttpGet]
public List<string> GetReservedDays()
{
[...]
return reserved_days;
}我想用这几天
ReservationModel.cs
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
var property = new[] { "EndOfReservation" };
if (EndOfReservation < StartOfReservation)
{
yield return new ValidationResult("End must be after start", property);
}
var reservedDays = GetReservedDays(); // Error CS0103 The name 'GetReservedDays' does not exist in the current context Reservation2
foreach(var day in reservedDays)
{
if(StartOfReservation < day && day < EndOfReservation)
{
yield return new ValidationResult("This date is reserved", property);
}
}
}如何使GetReservedDays()在模型中工作?
发布于 2022-03-29 04:49:55
我在互联网上发现,基于数据库数据的验证应该在控制器中执行。
在Create()方法中,我通过以下方法进行验证并给出错误:
ModelState.AddModelError("StartOfReservation", "ERROR MESSAGE");https://stackoverflow.com/questions/71645124
复制相似问题